第四章 类和接口 第22条 优先考虑静态成员类

嵌套类:是指被定义在另一个类的内部的类,嵌套类存在的目的应该只是为它的外围类提供服务

四种嵌套类:静态成员类、非静态成员类、匿名类和局部类

静态成员类的一种常用用法是作为公有的辅助类,公当与它的外部类一起使用时才有意义

如果嵌套类的实例可以在它外围类的实例之外独立存在,这个嵌套类就必须是静态成员类:在没有外围实例的情况下,要想创建非静态成员类的实例是不可能的。

当非静态成员的实例被创建的时候,它和外围实例之间的关联关系也随之被建立起来:而且,这种关联关系以后不能被修改,这种关系需要消耗非静态成员类实例空间,并且增加了构造的开销。

如果声明成员类不要求访问外围实例,就要始终把static修饰符放在它的声明中,使它成为静态成员类,而不是非静成员类,非静态成员类在GC回收时仍然保留和外围类的引用

私有静态成员类和一种常见方法是用来代表外围类所代表的对象 的组件

匿名类的一种常见用法是动态地创建函数对象

猜你喜欢

转载自blog.csdn.net/perfect_red/article/details/80561154