溫馨提示×

java中枚舉如何實現(xiàn)單例模式

沐橙
584
2021-05-13 13:40:24
欄目: 編程語言

java中枚舉實現(xiàn)單例模式的方法:可以使用單元素枚舉類型實現(xiàn),語法格式:“public enum Singleton {INSTANCE; private Singleton() {}}”,一般情況下枚舉里面創(chuàng)建實例是線程安全的。

java中枚舉如何實現(xiàn)單例模式

用法說明:

在功能上類似于 public 字段,它除了更簡潔外,還自帶序列化機制,并且即使面對復(fù)雜的序列化或反射攻擊,也提供了針對多重實例化的明確保證。盡管這種方法尚未得到廣泛采用,但是單元素枚舉類型是實現(xiàn)單例模式的最佳方法。

使用實例:

public enum Elvis {

    INSTANCE;

    private final String[] favoriteSongs =

        { "Hound Dog", "Heartbreak Hotel" };

    public void printFavorites() {

        System.out.println(Arrays.toString(favoriteSongs));

    }

}

0