再回首Java第十天

内部类

大部分时候,我们把类定义成一个独立的程序单元。在某些情况下,我们需要把一个类放在另一个类的内部定义,这个定义在其它类内部的类被称为内部类(嵌套类),包含内部类的类称为外部类(宿主类)。内部类有如下作用

  • 内部类提供了更好的封装,可以把内部类隐藏在外部类之内,不允许同包的其它类访问。假设创建Cow这个类,需要组合CowLeg的属性,CowLeg属性只有在Cow类中有效,离开了Cow类就没有意义,这种情况下可以把CowLeg定义成Cow的内部类,不允许其它外部的类访问
  • 内部类成员可以直接访问外部内的私有数据,因为内部类被当成了其外部类的成员,同一个类的成员间可以相互访问。但外部内不能访问内部类的实现细节,如属性。要访问必须创建内部类的对象。
  • 匿名内部类合适创建那些仅需要使用一次的类
原文地址:https://www.cnblogs.com/Mrxiaolong/p/5376739.html