首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

Effective Java 学习札记第17条 - 优先考虑静态成员类

2012-12-24 
Effective Java 学习笔记第17条 --- 优先考虑静态成员类嵌套类只为它的外围类提供服务。嵌套类分为四种:静

Effective Java 学习笔记第17条 --- 优先考虑静态成员类

嵌套类只为它的外围类提供服务。嵌套类分为四种:静态成员类、非静态成员类、匿名类和局部类(后面三种称为内部类)

?

如果一个嵌套类的实例可以在它外类类的实例之外独立存在,则这个嵌套类应该设置成静态成员类(即:如果你声明的成员类不要访问外围实例,那么应该把static修饰符放到成员类的声明中)。

匿名类的用法:

    创建一个函数对象;创建过程对象;在静态工厂方法的内部使用;在复杂的类型安全枚举类型(它要求为每个实例提供单独的子类)中,用于公有的静态final域的初始化器中;

总结:四种不同的嵌套类都有自己不同的用途,如果一个嵌套类需要在单个方法之外任然是可见的,或者它太长,不适合放在一个方法内部,那么应该使用成员类,如果成员类的每个实例都需要一个指向其外围实例的引用,则把成员类做成非静态的;否则就做成静态的,假设一个嵌套类属于一个方法的内部,如果你只需要在一个地方创建它的实例,并且已经有了一个预先存在的类型可以说明这个类的特征,则把它做成匿名类;否则就做成局部类。

?

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/ilibaba/archive/2009/02/06/3866657.aspx

热点排行