为什么在内部类调用外部类里相同变量名时出错?

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

瞬間悸動

2016-05-08 11:06

 //内部类中的方法

public void show() { 

System.out.println("外部类中的name:" + HelloWorld.this.name                );

System.out.println("内部类中的name:" +name                  );

System.out.println("外部类中的age:" + age);

}

为什么System.out.println("外部类中的name:" + HelloWorld.this.name                );

不能改为System.out.println("外部类中的name:" + o.this.name                );

就是改为外部类的对象名。

写回答 关注

2回答

  • 小茗创客
    2016-05-08 11:51:29
    已采纳

    name属于外部类变量,this.指的的外部量类名的变量name,所以前面要跟上外部类的类名HelloWolrd

    瞬間悸動

    非常感谢!

    2016-05-08 11:58:33

    共 1 条回复 >

  • 小茗创客
    2016-05-08 11:53:43

    而o只是对象方法,不能当做类名进行使用,所要指定外部/内部.this.外部/内部变量名对应this前

Java入门第二季 升级版

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

530553 学习 · 6091 问题

查看课程

相似问题