现在的位置: 首页 > 综合 > 正文

enum实现的单例

2013年08月15日 ⁄ 综合 ⁄ 共 1289字 ⁄ 字号 评论关闭

自己最熟悉的设计模式估计就是单例模式了:

这种方式可以防止用反射调用私有构造方法来创建多个对象,却不能防止通过反序列化得到多个对象,EJ提倡使用enum实现单例:

因为一个enum常量(这里是INSTANCE)代表了一个enum的实例,enum类型只能有这些常量实例。标准保证enum常量(INSTANCE)不能被克隆,也不会因为反序列化产生不同的实例,想通过反射机制得到一个enum类型的实例也不行的。

抱歉!评论已关闭.