一、用静态工厂方法代替构造器的优势

1、静态构造方法与构造器不同的第一大优势在于,他们有名称,而构造器名字相同,容易混淆,例如:

 

使用静态构造方式的方式,我们就可以通过知道产生的是什么样类型的对象,而不用去看构造方法产生的API

2、静态构造方法与构造器不同的第二大优势在于,不必每次调用它们的时候都创建一个对象,例如:

 

3、静态构造方法与构造器不同的第三大优势在于,它们可以返回原返回类型的任何子类的对象,例如:

 

 

4、静态构造方法与构造器不同的第四大优势在于,所返回的对象的类可以随着每次调用而发生,例如:

 

 

5、静态构造方法与构造器不同的第五大优势在于,方法返回的对象所属的类,在编写包含该类静态工厂方法的类时可以不存在

二、用静态工厂方法代替构造器的缺点

1、静态工厂方法的主要缺点在于,类如果不含公有的或者受保护的构造器,就不能被子类化

2、静态构造方法的第二个缺点在于,程序员很难发现他们

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐