1.静态工厂替代构造器
公有构造器vs静态工厂(不是设计模式的工厂模式)
静态工厂可以保证每次被调用时不需要创建一个新对象,并且可以返回原返回类型的任何子类型对象。
同时可以在创建实例时不需要来纳许两次提供类型参数。
2.多个构造器参数时使用构造器
当使用重叠构造时
第一个构造器包含必要参数,第二个包含一个可选参数,第三个包含两个,以此类推。非常难读且难写
替代方法为JavaBeans模式,调用无参构造器来创建对象,然后调setter方法。但是这样可能会线程不安全。
好的方法为Builder模式,模拟具名的可选参数。主要适用于参数很多,且大多数参数都为可选参数。
3.用私有构造器或枚举类型实例只被实例一次的类
把构造器保持为私有,并导出公有的 final 静态成员。
或静态工厂
或枚举
4.私有构造器可以使得static类不被实例化
6.消除过期的对象引用
7.避免使用终结方法
finalizer不被保证即使执行,也不保证会被执行。