问答详情
源自:7-7 Java 中的静态内部类

非静态变量在内部类中调用为什么不用写成HelloWorld.this.score?

上一个练习里为什么又要加上呢?

提问者:heaven24 2015-06-07 11:03

个回答

  • Bad__Guy
    2015-07-05 17:13:18

    HelloWorld.score(类的名字.属性)===类固有的属性方法!类一生下来就有滴!

  • Bad__Guy
    2015-07-05 17:11:52

    前面学static 关键字时我们学过static修饰的成员java先执行,并只运行一次(在static修饰后就要赋初值)!

    1、你可以把static修饰的成员变量视为类所固有的属性、方法!HelloWorld.score(类的名字.属性)===类固有的属性方法!

    2、非静态的成员变量是虚的要实例化  HelloWorld.this.score(this代表当前对象)===HelloWorld这个类的对象的属性!           this.属性==当前对象的属性!

        以上纯属自己理解勿喷!有不同见解希望可以交流!

  • chavin
    2015-06-08 01:38:12

    因为外部类中定义为static时,可以直接用外部类的名字.属性名可以访问到了。