hgq0916
奔腾的野马
2016-01-05 15:07
采纳率: 65.9%
浏览 3.2k
已采纳

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

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

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • caozhy
    已采纳

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

    点赞 评论
  • oyljerry
    oyljerry 2016-01-06 09:46
    点赞 评论

相关推荐