首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

(1)考虑用静态工厂方法替代构造器

2013-04-05 
(一)考虑用静态工厂方法替代构造器1 考虑用静态工厂方法替代构造器类可以提供一个公有的静态工厂方法,他只

(一)考虑用静态工厂方法替代构造器
1 考虑用静态工厂方法替代构造器
类可以提供一个公有的静态工厂方法,他只是一个返回类的实例的静态方法。


实例受控类

public static Boolean valueOf(boolean b){    return b ? Boolean.TRUE : Boolean.FALSE;}


编写实例受控类有几个原因。实例受控使得类可以确保他是一个Singleton或者是不可实例化的。他还使得不可变类可以确保不会存在两个相等的实例。

API可以返回对象,同时又不会使对象的类变成公有的。以这种方式隐藏实现类会使API变得非常简介。这种结束适用于基于接口的框架(java.util.Collections)



这样做有几大优势。
他们有名称。不必再为每次调用他们都创建一个新对象。他们可以返回原返回类型的任何子类型的对象。在创建参数化类型实例的时候,他们是代码变得更加简洁。

静态工厂方法的缺点
类如果不含公有的或者受保护地构造器,就不能被子类化。他们与其他的静态方法实际上没有任何区别。

热点排行