1.静态工厂方法和构造函数的优劣点
静态工厂方法的优势:1)静态工厂方法有名字,更容易被阅读和理解,多个相同的参数列表,可以用静态工厂方法,用不同的名字加以区分
2)在调用静态工厂方法时,可以不用每次都创建新的对象,例如Boolean.valueOf(),这样我们可以严格控制在某个时刻哪些实例应该存在。
3)静态工厂方法可以返回任意它的子类,接口为静态工厂方法提供了自然返回值类型
4)静态工厂方法所返回的对象可以随着每次调用而发生改变,这取决于静态工厂方法的参数值。
5)方法返回的对象所属的类,在编写包含该静态工厂方法的类时可以不存在
静态工厂方法的缺点:1)类如果不含公有的或者受保护的构造器,就不能被子类化
2)程序员很难发现它们
2.如果类的构造器或者静态工厂中具有多个参数,设计这种类时,Builder模式就是一种不错的选择。