本文截自Effective Java
第1条:考虑用静态工厂方法代替构造器
静态工厂方法与构造器不同的第一大优势在于,它们有名称。
静态工厂方法与构造器不同的第二大优势在于,不必在每次调用它们的时候都创建一个新对象。
静态工厂方法与构造器不同的第三大优势在于,它们可以返回原返回类型的任何子类型的对象。
静态工厂方法与构造器不同的第四大优势在于,在创建参数化类型实例的时候,它们使代码变得更加简洁。
静态工厂方法的主要缺点在于,类如果不含公有的或者受保护的构造器,就不能被子类化。
静态工方法的第二个缺点在于, 它们与其他的静态方法实际上没有任何区别。
第2条:遇到多个构造器参数是要考虑用构造器
第3条:用私有构造器或者枚举类型强化Singleton属性
第4条:通过私有构造器强化不可实例化的能力
第5条:避免创建不必要的对象
第6条:消除过期的对象引用
第7条:避免使用终结方法