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