java内部类的特点

第一个特点,内部类可以访问其所在类的私有属性和方法。这一点就很像孕妈妈肚里的小宝宝一样,可以很方便的吸收一些妈妈的营养。以 HashMap 为例,它里面有好几个内部类。观察这几个内部类你会发现有一个共同特点就是内部类可以很方便的访问所在外部类的一些私有属性和方法。如果你把链表给抽取出来,你会发现,最终的链表实现起来难了很多。

第二个特点,内部类可以隐藏起来,不被同一个包中的其他类访问,如果一个类只对某个类提供使用,那么可以将其定义为内部类。这个特点在 HashMap 等集合中也有体现,具体来说就是各个内部类都是辅助所在的外部类的。作为外部类的一部分,具有强关联性。并且不希望除了所属的外部类使用外的其他类进行访问。

第三个特点,可以联合外部类解决多继承问题。这也是我认为非常重要的一个特点。还是以 HashMap 为例,它本身继承了 AbstractMap。但是它的所有内部类,都又有了各自的继承。

你可能感兴趣的:(Java)