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