代码改变世界

考虑用静态工厂代替构造方法

2018-10-19 14:19  摘花  阅读(219)  评论(0编辑  收藏  举报

在看之前,我自己思考了一下静态工厂相对于构造方法的优点

1,首先肯定是不需要每次都创建一个新的对象。

写了一条之后,我发现我只能得出这个结论

看书:

静态工厂有自己的名称:这个有什么好处呢,能够使方法的可读性更好,

可以返回原返回类型的子类对象:构造方法只能构造本类的对象,而静态工厂可以灵活的在代码实现的时候初始化子类对象,携带更多的信息。

创建对象的时候代码更简洁:嗯,一个小甜头。

 

局限:

因为类需要通过静态工厂返回对象,而屏蔽构造方法将其设置为private,所以这对于继承此类的子类的构造会存在影响,即构造器中不能够调用super()来调用父类的构造方法。