美文网首页Effective Java Sencond Edition
Effective Java 第1条:考虑用静态工厂方法代替构造

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

作者: linyk3 | 来源:发表于2018-12-18 21:49 被阅读0次

获取类的一个实例,最常用的方法是提供一个公有的构造器.
还有一种方法就是提供一个公有的静态工厂方法(static factory method): 一个返回类的实例的静态方法.
示例:

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

相对于构造器,静态工厂方法的优势在于:
 - 1. 它们有名称
 - 2. 不必在每次调用它们的时候都创建一个新的对象
 - 3. 可以返回类型的任何子类型的对象
 - 4. 在创建参数化类型实例的时候,它们使代码变得更加简洁.

相对于构造器,静态工厂方法的缺点在于:
 - 1. 类如果不含有public 或 protect 构造器, 就不能被继承
 - 2. 它们与其他的静态方法实际上没有任何区别.

相关文章

网友评论

    本文标题:Effective Java 第1条:考虑用静态工厂方法代替构造

    本文链接:https://www.haomeiwen.com/subject/wuerkqtx.html