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

方法内部类访问外部重名变量

方法内部类中与外部类存在重名变量,在内部类中如何访问外部类重名的变量? public class InnerMethod { public void show(){              int b = 3 class MInner{ int b = 23 public void print(){ ?????? System.out.println("访问外部类中的变量b:" + InnerMethod.this.b); } }

正在回答

3 回答

外部类不允许使用内部类的成员和方法的吧。

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

http://img1.sycdn.imooc.com//574fe51c00018ec110320477.jpg

大概是这样的代码

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

慕粉3438963 提问者

不知道是否可以在方法内部类MInner中访问到show(){}方法中的变量b? 或者不存在我这样的假定。
2016-06-02 回复 有任何疑惑可以回复我~
#2

小竹摇曳

你这个b是外部类show方法中定义的局部变量,不是外部类的属性,所以你写外部类名.this.属性名的时候会出错,因为这个只是方法的局部变量而不是类的属性。如果非要访问要加final,因为方法内部类只能访问方法中的常量,不能访问变量。不知道这么说你能不能明白。
2016-06-09 回复 有任何疑惑可以回复我~
#3

乱也 回复 小竹摇曳

方法内部类怎么调用方法内的重名常量
2016-06-28 回复 有任何疑惑可以回复我~

如果是在内部类访问外部类的某一属性,则:外部类名.this.属性

System.out.println("访问外部类中变量b"+外部类名.this.b);

System.out.println("访问内部类中变量b"+b);

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

慕粉3438963 提问者

我好像是这么写的,但是会 爆 红
2016-06-02 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

方法内部类访问外部重名变量

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信