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

请问 可以这样吗

内部类Outer和外部类Inner具有相同的成员变量b的情况下,内部类要访问外部的成员变量,可以不使用this关键字直接这样写吗

        System.out.println(Outer.b);

还是一定要 System.out.println(Outer.this.b);

为什么呢?难道Outer.b不是已经很清楚地指出是访问Outer里的成员变量了吗

正在回答

3 回答

虽然看起来是正确的,但是实际上Outer.b它所代表的是两个变量,一个是Outer的变量b,一个是Inner的变量b。因为这两个b都在Outer这个类里面。所以当你这样表示之后,根据临近原则。Outer.b所代表的变量就成了Inner的变量b。因而这也是为什么要加this的原因。就是为了避免临近原则。

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

MiaLoo 提问者

谢谢你噢~讲得好清楚
2016-05-16 回复 有任何疑惑可以回复我~

除非Outer的b是static 变量,否则是不能用Outer.b直接访问的。

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

可以的


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

举报

0/150
提交
取消

请问 可以这样吗

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