第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、静态工厂方法与其他静态方法实际上没有任何区别;
相关文章推荐
- 第1条:考虑用静态工厂方法代替构造器(第一章:创建和销毁对象)
- 第1条 考虑用静态工厂方法代替构造器
- 第1条:考虑用静态工厂方法代替构造器
- 第1条:考虑用静态工厂方法代替构造器
- 第1条 创建和销毁对象——考虑用静态工厂方法代替构造器
- 第1条:考虑用静态工厂方法代替构造器
- 《Effective java》读书记录-第1条-考虑用静态工厂方法代替构造器
- 第1条:考虑用静态工厂方法代替构造器
- EffectiveJava读书笔记- 第1条:考虑用静态工厂方法代替构造器
- 第1条:考虑用静态工厂方法代替构造器
- Effective Java学习笔记之第1条 考虑用静态工厂方法代替构造器
- 第1条:考虑用静态工厂方法代替构造器
- Effective Java 中文版之学习 第1条:考虑用静态工厂方法代替构造器
- 第1条 考虑用静态工厂方法代替构造器
- Effective Java 中文版之学习 第1条:考虑用静态工厂方法代替构造器
- 【Effective Java笔记】第1条:考虑用静态工厂方法代替构造器
- 第1条:考虑用静态工厂方法代替构造器
- 第1条:考虑用静态工厂方法代替构造器
- 第1条:考虑用静态工厂方法代替构造器
- EJ.01 考虑用静态工厂方法代替构造器