第三条:用私有构造器或者枚举类型强化Singleton属性
2015-04-16 17:06
197 查看
Singleton类就是单例类,就是只能被实例化一次的类。
需要注意的是,对于单例类变成可序列化,仅仅在声明上加上“implements Serializable” 是不够的,还要将所有的实例域(非static的域)
声明为transient(瞬时)的,并提供一个readResolve方法。否则,我们反序列化一个单例类的实例时,都会创建一个这个单例类的新的实例,这样就与单例类的本质不符合了。
从JDK1.5开始,我们还可以考虑使用枚举来定义单例类。
需要注意的是,对于单例类变成可序列化,仅仅在声明上加上“implements Serializable” 是不够的,还要将所有的实例域(非static的域)
声明为transient(瞬时)的,并提供一个readResolve方法。否则,我们反序列化一个单例类的实例时,都会创建一个这个单例类的新的实例,这样就与单例类的本质不符合了。
从JDK1.5开始,我们还可以考虑使用枚举来定义单例类。
相关文章推荐
- 《effective java》读书札记第三条用私有构造器或者枚举类型强化Singleton属性
- 第三条:用私有构造器或者枚举类型强化Singleton属性
- 《effective java》读书札记第三条用私有构造器或者枚举类型强化Singleton属性
- Effective Java 学习 第三条 用私有构造器或者枚举类型强化Singleton属性
- 第三条:用私有构造器或者枚举类型强化Singleton属性
- Effective java第三条:使用私有构造器或者枚举类型强化Singleton属性
- 《Effective java》读书记录-第3条-用私有构造器或者枚举类型强化Singleton属性
- 用私有构造器或者枚举类型强化singleton属性——Effective Java 读书笔记
- 第3条:用私有构造器或者枚举类型强化Singleton属性
- 03-用私有构造器或者枚举类型强化 Singleton 属性
- Effective Java(3) --用私有构造器或者枚举类型强化Singleton属性
- Java学习笔记3:用私有构造器或者枚举类型强化Singleton属性
- 第3条:用私有构造器或者枚举类型强化Singleton属性
- Java学习笔记3:用私有构造器或者枚举类型强化Singleton属性
- Effective Java - 创建和销毁对象 - 用私有构造器或者枚举类型强化 Singleton 属性
- 用私有构造器或者枚举类型强化Singleton属性
- Effective Java学习笔记之第3条 用私有构造器或者枚举类型强化Singleton属性
- Effective Java -- 用私有构造器或者枚举类型强化Singleton属性
- 第3条:用私有构造器或者枚举类型强化Singleton属性
- Android 编码规范:(三)用私有构造器或者枚举类型强化Singleton属性