Java的类对外而言只有一种面貌,但封装在类内部的形态却可以丰富多彩。嵌套类在这其中,扮演了极为重要的角色。它既丰富了类的层次,又可以灵活控制内部结构的访问限制与粒度,使得我们在开放性与封闭性之间、公开接口与内部实现之间取得适度的平衡。
嵌套类之所以能扮演这样的设计平衡角色,是因为嵌套类与其主类的关系不同,主类的所有成员对嵌套类而言都是完全开放的,主类的私有成员可以被嵌套类访问,而嵌套类则可以被看做是类边界中自成一体的高内聚类而被主类调用。因此,嵌套类的定义其实就是对类内部成员的进一步封装。虽然在一个类中定义嵌套类并不能减小类定义的规模,但由于嵌套类体现了不同层次的封装,使得一个相对较大的主类可以显得更有层次感,不至于因为成员过多而显得过于混乱。
Read full article from 阅读开源框架,遍览Java嵌套类的用法 | 斑斓
No comments:
Post a Comment