在effective java 中第一条提到用静态工厂方法代替构造器
优点如下:
- 静态工厂方法有名字,构造器名字固定,不易于表达方法签名的意义
- 不必在每次调用它们的时候都创建一个新对象
它们可以返回原返回类型的任何子类型的对象
effective java中给出了相对抽象的解释,学习编程有一点很重要,通过实践让抽象的东西具体化
这篇文章对于以上三点给出了具体解释,很到位:
好文地址
上面这篇文章讲的不错,作者的一系列文章都很不错,有时间可以好好研究下。
其中第二条在原作者的评论中有很多人有疑问,在stackoverflow上有针对第二条的单独解释:
参考信息