java private 内部类_java中外部类是否可以访问内部类的private 元素呢?

能够访问,而是说“我们必须说明白想访问哪个变量”,首先,变量 i 是不是 Second 的成员变量,这是一个事实,所以不用用 Second.i 来访问.

能够访问说的是“可见性”,Second 类可以直接访问 Inner 的成员方法和变量,只是可见性的允许。我们知道如果 Inner 不是 Second 的内部类时,我们只能通过 get / set 方法来访问 Inner 的成员变量,而 Inner 是内部类时就没有这个可见性的限制。

建议你先把你的类编译后生成的2个 class 文件复制到其它不是 Java Source Folder 的文件夹,然后用 Eclipse 双击打开它,这时 Eclipse 不能自动显示源码而是显示二进制的查看器窗口,我们可以在这个窗口中看到 eclipse 如何理解这个编译后的文件,这也告诉我们 Java 编译器是如何处理内部类的,一般我们会看到一个名字带有 $ 的成员变量,比如 $this 这样的, 就是 说 Java 编译器自动帮我们生成了一个内部类和它外面类之间的关联的对象,通过这个对象来访问彼此的成员变量。

5e7f7082b94be4d5767767e5674b3e31.png

22635feb32e15c45fc32a9d1dcb5f9e4.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值