为什么不能用new +外部类名().属性名呢

来源:7-7 Java 中的静态内部类

Whitney_wu

2019-02-28 20:53

https://img3.mukewang.com/5c77d9860001ea4107240122.jpg

https://img2.mukewang.com/5c77d98600016e6a06720976.jpg

明明教的就有关这样的信息,但是为什么不行呢?



写回答 关注

4回答

  • 弯曲的小手
    2019-03-28 21:27:27

    而且,截图要截全部,不然不知道你最上面写了什么,你是不是没创建非静态的变量

  • 弯曲的小手
    2019-03-28 21:25:09

    仔细看看,你自己写的错了,教程说的是内部静态类,你的外部是静态类

    下面的可以

    //外部类

    public class HelloWorld {

        

        // 外部类中的静态变量score

        private static int score = 84;

         private int a=66;

        // 创建静态内部类

    public   static       class SInner {

            // 内部类中的变量score

            int score = 91;      

    public void show() {

    System.out.println("访问外部类中的score:" +    new HelloWorld().a   );

    System.out.println("访问内部类中的score:" + score);

    }

    }

    // 测试静态内部类

    public static void main(String[] args) {

    // 直接创建内部类的对象

            SInner si= new SInner();

        // 调用show方法

    si.show();

    }

    }


  • 酥v哒哒
    2019-03-05 17:29:44

    可以用,没毛病

    如果你在慕课网上测试,它会提示运行成功,输出错误,设置问题

    自己软件测试就行了,在这上面既然运行成功,看结果也是我们要的,没有错误

  • 慕哥0873373
    2019-03-01 00:08:36

    静态内部类中的方法中的输出错误    new HelloWorld().score   改成   HelloWorld.score

    new HelloWorld().score是访问外部类中的给静态成员,访问了你要给他赋值给一个新的变量,就像我图中的变量“b”https://img1.mukewang.com/5c78078000013db107300374.jpg

    lucky高

    这样好像不能运行成功呢我试了?

    2019-03-04 10:58:35

    共 1 条回复 >

Java入门第二季 升级版

课程升级!以终为始告别枯燥,在开发和重构中体会Java面向对象编程的奥妙

530652 学习 · 6091 问题

查看课程

相似问题