Начиная с Java 5 говорят, что лучший способ создания синглтона - это одноэлементный тип enum.
Пример:
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.
}
}
Согласно Джошуа Блоху, одиночный-элемент типа enum singleton является;
- более кратким
- предоставляет механизм сериализации бесплатно
- и обеспечивает железную оболочку для множественных экземпляров.
Я вижу, как он более лаконичен и как он обеспечивает железную защиту от множественных экземпляров, но как он предоставляет механизм сериализации бесплатно?
Это то, что получает синглтон?быть перечислением?