package com.spring.singleton;
/**
* @author chenxm66777123
* @version 1.0.0
* @Description 枚举实现单例模式
*/
public class Singleton {
/**
* @Author : chenxm66777123
* @Description 单例的统一特性,构造方法私有化
**/
private Singleton singleton;
/**
* @Author : chenxm66777123
* @Description 定义对外暴露的接口
**/
public static Singleton getInstance(){
return SingletonEnum.INSTACE.getInstnce();
}
private enum SingletonEnum{
INSTACE;
private Singleton singleton;
/**
* @Author : chenxm66777123
* @Description JVM保证这个方法绝对只调用一次
**/
SingletonEnum(){
singleton = new Singleton();
}
public Singleton getInstnce(){
return singleton;
}
}
}