Java 1.5 (Tiger) からは、ひとつの要素だけを持つ enum 型を提供することでシングルトンを作成することができます。
public enum MySingleton {
INSTANCE;
public void greet() { ... }
}
private static
なフィールドを利用してシングルトンクラスを作成する方法と比べ、下記のような利点があります。
implementes Serializable
しなくてよい)readResolve
メソッドを実装しなくてよい)