Effective Java 学习笔记(三)

王朝java/jsp·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

Effective java是美国Joshua Bloch所著,书中共十章57个条目,每个条目给出了一条用于改进程序性能和设计方案的规则。

第十二条:使类和成员的可访问能力最小

应该尽可能地使每一个类或成员不被外界访问。

私有成员和包级私有成员都是一个类的实现中的一部分,并不会影响到其导出的API。然而如果这些域所在的类实现了serializable接口,那么这些域可能会被“泄漏(leak)”到导出的API中。

具有公有的静态final数组域几乎总是错误的。

第十三条:支持非可变性

为了使一个类成为非可变类,要遵循下面五条规则:

1、不要提供任何会修改对像的方法。

2、保证没有可被子类改写的方法。

3、使所有的域都是final的。

4、使所有的域都成为私有的。

5、保证对于任何可变组件的互斥访问。

非可变对象本质上是线程安全的,它们不要求同步。非可变对象可以被自由地共享。你不仅可以共享非可变对象,甚至也可以共享它们的内部信息。非可变对象为其他对象--无论是可变的还是不可变的--提供了大量的构件。

非可变类真正唯一的缺点是,对于每一个不同的值都要求一个单独的对象。

如果一个类不能被做成非可变类,那么你仍然应该尽可能地限制它的可变性。

构造函数应该创建完全初始话的对象,所有的约束关系应该在这时候建立起来。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航