第1条:考虑用静态工厂方法代替构造器

来源:互联网 发布:apache http服务器 编辑:程序博客网 时间:2024/06/01 15:54

对于类而言,为了让客户端获取它自己的一个实例,最常用的方法就是提供一个公有的构造器。还有一种方法,它应该在每个程序员的工具箱中占有一席之地。类可以提供公有的静态工厂方法,它只是一个返回类的实例的静态方法。如:

public static Boolean valueOf(boolean b){

    return b ? Boolean.TRUE : Boolean.FALSE;

}

静态工厂方法与构造器相比的优点:

1.它们有名称

2.不必在每次调用它们的时候都创建一个新对象

3.它们可以返回原返回类型的任何子类型的对象

4.在创建参数化类型实例的时候,它们使代码变得更加简洁


静态工厂方法的缺点:

1.类如果不含公有的或者受保护的构造器,就不能被子类化

2.它们与其他的静态方法实际上没有任何区别

7 0
原创粉丝点击