为了账号安全,请及时绑定邮箱和手机立即绑定

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

 //内部类中的方法

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 回答

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

1 回复 有任何疑惑可以回复我~
#1

瞬間悸動 提问者

非常感谢!
2016-05-08 回复 有任何疑惑可以回复我~

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

1 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

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

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号