第一条:用静态工厂方法代替构造器

夙愿已清 提交于 2020-01-27 22:55:38

一:简述

让外部调用者获取类的一个实例(创建该类的对象),可以不提供一个公有的构造器,转而提供一个公有的静态工厂方法,该方法返回类的实例。

二:优点:

1.创建对象时,有名称,不再是通过重载构造方法从而实现不同的对象创建,更加清晰,比构造器命名方式更灵活。
2.再某些情况下,不需要每次new都出现一个新对象,如:Boolean.valueOf("true"),从来不创建对象。如果程序经常创建代价很高的相同对象,则可以考虑。
3.方法返回对象所属的类,在编写该静态方法所属的类时可以不存在:
service provider framework (服务提供者框架)

三:缺点:

如果类不提供公有的或者受保护的构造器,就不能被子类化。
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!