码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2020-01-27 23:39:14      阅读:79      评论:0      收藏:0      [点我收藏+]

标签:命名方式   服务提供者   pre   优点   相同   frame   一个   new   返回   

一:简述

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

二:优点:

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

三:缺点:

如果类不提供公有的或者受保护的构造器,就不能被子类化。

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

标签:命名方式   服务提供者   pre   优点   相同   frame   一个   new   返回   

原文地址:https://www.cnblogs.com/shuzi0806/p/12237044.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!