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

在静态内部类里为什么用 System.out.println("访问外部类中的score:" + HelloWorld.this.score );不能执行

在静态内部类里为什么用 System.out.println("访问外部类中的score:" +     HelloWorld.this.score       );不能执行

提问者:_高思琳_03169182 2017-02-01 20:46

个回答

  • 已风化
    2017-02-01 21:57:52

    当内部类的成员变量名与外部内的静态成员变量名相同时的访问格式为:外部类.静态成员变量  来访问。this时谁调用指代谁,在这里是内部类在调用,如果加上this的话就是内部类的变量了。但是写法又是错的

  • 慕盖茨7642814
    2017-02-01 21:51:25

    因为score是静态变量,访问外部静态变量不需要用this,直接外部类名.静态成员就可以