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

来源:7-6 Java 中的成员内部类

weixin_宝慕林4199788

2019-01-24 00:08

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

写回答 关注

4回答

  • 弯曲的小手
    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没有

Java入门第二季 升级版

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

530932 学习 · 6091 问题

查看课程

相似问题