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

为什么静态内部类访问外部类同名边量前面不加this

System.out.println("访问外部类中的score:" + HelloWorld.score           );      //为什么不是HelloWorld.this.score或者this.score



提问者:MOMO______ 2019-03-15 18:29

个回答

  • 慕移动0307535
    2019-07-14 09:11:11

    因为静态对象属于这个类所有对象公有的,不属于某一个具体的对象。而this表示该类的对象(即将类进行实例化之后,this就表示实例化之后的对象),在访问静态成员是是不需要指定具体的对象的。所以不需要this。

  • weixin_慕哥5313225
    2019-06-26 16:38:17

    因为是静态成员变量所以在一开始就直接加载好了,所以我直接找到他的位置就可以用,但是普通成员变量是用的时候再加载所以我们就必须要告诉他要加载的是哪个位置上的成员变量。仅供参考!

  • 慕妹5146876
    2019-06-13 17:56:00

    this是被哪个类对象调用就指代哪个对象,但是这里外部类中的为静态变量,不需要生成对象,因此可以直接写成: 外部类.静态变量,新手一个,有错误忘谅解!

  • 慕仔6157324
    2019-05-06 16:37:00

    this 只能访问当前类对象的成员变量 访问不了外部类的同名变量