奔腾的野马 2016-01-05 15:07 采纳率: 100%
浏览 3455
已采纳

在外部类中为什么可以直接访问内部类的私有成员?

在外部类中为什么可以直接访问内部类的私有成员?比如,root=root.next,这条语句出现在外部类的方法中,这里,root是定义在外部类中的一个内部类对象,而next是root对象的一个私有属性,为什么可以这样写?

  • 写回答

2条回答 默认 最新

  • threenewbee 2016-01-05 15:12
    关注

    内部类是一个特例,相当于友元类(java本身没有友元这个概念)
    从语法的角度来说,这样做是方便的。封装性主要是避免调用者随意操作对象的私有成员,调用他们不知道的代码引起问题。但是你定义了外部类,显然内部类也是你定义的,你肯定对自己的代码很了解,所以这里限制反倒是多余。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?