Effective Java 随笔——第1条:使用静态工厂方法替

2016-10-12  本文已影响0人  艾尔温

第1条:使用静态工厂方法替代构造函数

对于类而言,为了让客户端获取它自身的一个实例,最常用的方法就是提供一个公有的构造器,还有一种就是方法。类可以提供一个公有的静态工程方法(static factory method),它只是一个返回类的实例的静态方法。

// 通过isMale字段标识性别
class Person {    
    private bool isMale;        
    // 不容易理解参数的含义    
   public Person(bool _isMale) {        
        this.isMale = isMale;    
    }
 }
// 采用静态工厂方法替代构造函数
class Person {    
    private bool isMale;        
    // 一目了然    
    public static Man() {        
        Persion p = new Persion();        
        p.isMale = true;        
        return p;    
    }    
    public static Woman() {
        Persion p = new Persion();
        p.isMale = false;
        return p;    
     }
}

静态工厂方法的优势:

静态工厂方法的缺点:

上一篇 下一篇

猜你喜欢

热点阅读