问答详情
源自:7-6 Java 中的成员内部类

为什么输出外部类的age 和上面的name 不一样 不用 用HelloWorld.this吗???

https://img1.mukewang.com/5c48912f0001898b05810502.jpg求大神教教

提问者:weixin_宝慕林4199788 2019-01-24 00:08

个回答

  • 弯曲的小手
    2019-03-28 17:57:25

    如果外部类和内部类有一个重名的变量名

    内部类优先调用内部类的变量名

    所以要说明一下

    HelloWorld.this

    你可以试试内部类也定义一个age=30,不加

    HelloWorld.this

    直接输出age,会输出30


  • Dusdii
    2019-02-11 13:25:52

    没有重名的所以不用提醒 这里的  类名.this.   是为了区分外部类里的还是内部类里的

    就好比你叫 某某 而同班同学还有个叫 某某 的这时候为了区分你俩所以需要些具体信息做条件

  • qq_崖柏_euvxL0
    2019-02-08 18:58:52

    楼上 说的十分的对

  • 康熙的汤圆
    2019-01-24 13:53:01

    内部类和外部类中的成员变量有重名的时候才加this区分

    这里name重名了,但是age没有