在阅读 Joshua Block 的 Effective Java Book 第 1 项关于使用工厂静态方法而不是构造函数后,我一直在研究这个问题。在文本中,他尽可能为使用进行辩护,并在其他理由中引用了实施Singleton或Flyweight标准的可能性。它还引用了该类的案例,该类通过方法Boolean
明智地使用了享valueOf (boolean)
元:
public static Boolean valueOf(boolean b) {
return b ? Boolean.TRUE : Boolean.FALSE;
}
我的问题是:我了解使用这些模式的优点,但无法在构造函数本身中实现?单独使用它们并不能证明创建静态工厂方法是合理的。