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

2-6的一个小问题

为什么不能直接System.out.println("外部类中的b:" + b  );?xianx https://img1.sycdn.imooc.com//5b55893c00011e2204730172.jpg像第一个例子https://img1.sycdn.imooc.com//5b55896000015e8604270151.jpg

正在回答

6 回答

第一个内部类和外部类变量b重名了,那么输出的时候需要区分下,所以要用Outer.this.b输出外部类b

第二个,首先要知道,内部类可以直接访问外部类,所以第二个直接访问外部类没问题。


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

内部和外部有相同属性b,所以加this.b,这是调用外部的b,调用内部的不加

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

因为外部类和内部类具有相同的 属性b   所以需要用类名.this.b来获取外部类的属性  如果外部类和内部类不具有相同的属性  直接调用就可以了

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

因为内部类和外部类同时定义了属性b,所以要那种写法,

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

楼上放屁,滑稽:)

首先内部类和外部类有相同属性才 Out.this b

没有相同属性就 直接调用就行了

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

private 封装的a

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

举报

0/150
提交
取消
Java入门第二季 升级版
  • 参与学习       530696    人
  • 解答问题       6091    个

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

进入课程

2-6的一个小问题

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