|
|
Effective Java 学习笔记(三) |
|
|
作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站 |
Effective java是美国Joshua Bloch所著,书中共十章57个条目,每个条目给出了一条用于改进程序性能和设计方案的规则。
第十二条:使类和成员的可访问能力最小 应该尽可能地使每一个类或成员不被外界访问。 私有成员和包级私有成员都是一个类的实现中的一部分,并不会影响到其导出的API。然而如果这些域所在的类实现了serializable接口,那么这些域可能会被“泄漏(leak)”到导出的API中。 具有公有的静态final数组域几乎总是错误的。
第十三条:支持非可变性 为了使一个类成为非可变类,要遵循下面五条规则: 1、不要提供任何会修改对像的方法。 2、保证没有可被子类改写的方法。 3、使所有的域都是final的。 4、使所有的域都成为私有的。 5、保证对于任何可变组件的互斥访问。 非可变对象本质上是线程安全的,它们不要求同步。非可变对象可以被自由地共享。你不仅可以共享非可变对象,甚至也可以共享它们的内部信息。非可变对象为其他对象--无论是可变的还是不可变的--提供了大量的构件。 非可变类真正唯一的缺点是,对于每一个不同的值都要求一个单独的对象。 如果一个类不能被做成非可变类,那么你仍然应该尽可能地限制它的可变性。 构造函数应该创建完全初始话的对象,所有的约束关系应该在这时候建立起来。

|
|
相关文章:相关软件: |
|