effective Java 1 使用静态工厂方法代替构造器
2018-03-15 15:16
513 查看
jdk Boolean类的源码:
public final class Boolean implements java.io.Serializable,
Comparable<Boolean> {
public static final Boolean TRUE = new Boolean(true);
public static final Boolean FALSE = new Boolean(false);
public static Boolean valueOf(boolean b) {
return (b ? TRUE : FALSE);
}
}优势:
1.静态方法有名称,可以自己设置有意义名称,让别人通过方法名就可以知道如何使用该方法
2.不用每次调用它都新建一个对象,浪费内存
因为这个实例在类加载后就形成了,属于类,不属于对象
3.他们可以返回原返回类型的任何子类型的对象
4.创建参数化类型实例的时候,可以使代码变得更加简洁
public final class Boolean implements java.io.Serializable,
Comparable<Boolean> {
public static final Boolean TRUE = new Boolean(true);
public static final Boolean FALSE = new Boolean(false);
public static Boolean valueOf(boolean b) {
return (b ? TRUE : FALSE);
}
}优势:
1.静态方法有名称,可以自己设置有意义名称,让别人通过方法名就可以知道如何使用该方法
2.不用每次调用它都新建一个对象,浪费内存
因为这个实例在类加载后就形成了,属于类,不属于对象
3.他们可以返回原返回类型的任何子类型的对象
4.创建参数化类型实例的时候,可以使代码变得更加简洁
相关文章推荐
- Effective Java 读书笔记(一):使用静态工厂方法代替构造器
- Effective Java 读书笔记(一):使用静态工厂方法代替构造器
- Effective Java 读书笔记(一):使用静态工厂方法代替构造器
- Effective Java 读书笔记(一):使用静态工厂方法代替构造器
- [Effective Java]考虑用静态工厂方法代替构造器
- Effective Java 第一条:考虑用静态工厂方法代替构造器
- Effective Java 创建和销毁对象 1.考虑用静态工厂方法代替构造器
- 1、考虑用静态工厂方法代替构造器(effective java)
- [Effective Java]第一话:使用静态工厂方法代替构造方法
- effective java--关于静态工厂方法代替构造器
- 《Effective Java》--01.考虑用静态工厂方法代替构造器
- Effective Java 中文版之学习 第1条:考虑用静态工厂方法代替构造器
- Effective Java 1:考虑使用静态工厂方法代替构造器
- 【代码优化】考虑使用静态工厂方法代替构造器
- Effective Java 学习笔记 使用静态工厂方法代替构造器
- 《Effective java》读书记录-第1条-考虑用静态工厂方法代替构造器
- 第1条:使用静态工厂的方法来代替构造器
- Effective Java 读书笔记——1:考虑用静态工厂方法代替构造器
- 《Effective Java》考虑用静态工厂方法代替构造器
- 第一条:考虑使用静态工厂方法代替构造器