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

来源:互联网 发布:怪物猎人ol mac版 编辑:程序博客网 时间:2024/06/15 00:14
1、静态工厂方法的与构造器的第一大优势:他们有名称;能够更加确切的描述正被返回的对象;
2、第二大优势在于,不必在每次调用时都创建一个新对象,对于经常请求创建相同对象,且创建对象的代价很高的情况下,可大大提升性能
3、静态工厂方法可以返回原返回类型的任何子类型的对象;
4、在创建参数化类型实例的时候,使得代码更加简洁:
   例:Map<String,Integer> map=new HashMap<String,Integer>();利用静态工厂方法
   public static <K,V> HashMap<K,V> newInstance(){
return new HashMap<K,V>();
}
     利用静态工厂方法,可变为Map<String,Integer>map=HashMap.newInstance();
缺点:
1、类中如果不含有公有的或者受保护的构造器,则不能被子例化;
2、静态工厂方法与其他静态方法实际上没有任何区别;
0 0
原创粉丝点击