Effective Java (一)

一、考虑用静态工厂方法替代构造器
优点:
1. 静态工厂方法 有名称
2. 静态工厂方法 不必每次调用创建一个新对象
3. 静态工厂方法 可以返回原返回类型的任何子类型
4. 静态工厂方法 创建参数化类型实例更简洁
例子:

    public static <K,V> HashMap<K,V> newInstance(){
        return new HashMap<K,V>();
    }

   Map<String,List<String>> m = HashMap.newInstance();

缺点:
1. 类如果不含共有或者受保护的构造器就不能被子类化
2. 静态工厂方法与其他的静态方法实际上没有任何区别

猜你喜欢

转载自blog.csdn.net/bluesky003/article/details/80258106