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

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

heaven24

2015-06-07 11:03

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

写回答 关注

3回答

  • 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时,可以直接用外部类的名字.属性名可以访问到了。

    chavin

    但是如果属性不是static,是不能用外部类名字.属性名访问的。

    2015-06-08 01:38:53

    共 1 条回复 >

Java入门第二季 升级版

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

530553 学习 · 6091 问题

查看课程

相似问题