【发布时间】:2011-04-22 20:09:43
【问题描述】:
从 Java 5 开始,据说创建单例的最佳方法是使用单元素枚举类型。
例子:
public enum SuperSingleton implements Zooma{
INSTANCE;
/**
*/
public void fightTheBattle(){
System.out.println("I am fighting the battle!!!");
}
@Override
public void runningWild() {
//This is method implemented from the Zooma interface.
}
}
根据 Joshua Bloch 的说法,单元素枚举类型单例是;
- 更简洁
- 免费提供序列化机制
- 并提供了针对多重实例化的铁证。
我可以看到它是如何更简洁的,以及它如何提供针对多重实例化的铁证, 但它如何免费提供序列化机制?
这是单例通过枚举获得的东西吗?
【问题讨论】:
-
+1 虽然我认为单身人士是由“敌人”创造的,我引用布什先生的话。
-
答案就在API。
-
好的,这很明显。谢谢大家。
-
我喜欢枚举——但你的单身人士将无法再继承。 @见stackoverflow.com/questions/5822827/…
标签: java enums singleton java-5