您的位置:首页 > Web前端

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

2016-09-09 09:46 393 查看
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、静态工厂方法与其他静态方法实际上没有任何区别;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  effective java笔记