首页 > 技术文章 > Effective Java 第二章笔记

mingyao123 2020-11-30 21:18 原文

1.静态工厂方法和构造函数的优劣点

静态工厂方法的优势:1)静态工厂方法有名字,更容易被阅读和理解,多个相同的参数列表,可以用静态工厂方法,用不同的名字加以区分

2)在调用静态工厂方法时,可以不用每次都创建新的对象,例如Boolean.valueOf(),这样我们可以严格控制在某个时刻哪些实例应该存在。

3)静态工厂方法可以返回任意它的子类,接口为静态工厂方法提供了自然返回值类型

4)静态工厂方法所返回的对象可以随着每次调用而发生改变,这取决于静态工厂方法的参数值。

5)方法返回的对象所属的类,在编写包含该静态工厂方法的类时可以不存在

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

2)程序员很难发现它们

2.如果类的构造器或者静态工厂中具有多个参数,设计这种类时,Builder模式就是一种不错的选择。

 

推荐阅读