enum 實現單例

需要單例的類 SinletonObject

@AllArgsConstructor
public class SinletonObject {
    private Integer id;
    private String desc;
}

枚舉類實現單例

public enum SingletonEnum {
    INSTANCE;
    private SinletonObject instance;

    SingletonEnum(){
        System.out.println(" -new instance --");
        instance = new SinletonObject(1,"hello");
    }
    public SinletonObject getInstance() {
        return instance;
    }
}

測試下

public class SingletonTest {
    public static void main(String[] args) {
        System.out.println(SingletonEnum.INSTANCE.getInstance());
        System.out.println(SingletonEnum.INSTANCE.getInstance());
    }
}

運行結果,只初始化了一次

-new instance --
com.river.face.Singleton.SinletonObject@65b54208
com.river.face.Singleton.SinletonObject@65b54208

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章