在我们的日常开发中,会非常频繁的使用到一个模式-单例模式。
在借鉴了大佬的思路模式下:java枚举方式实现单例_l既见君子l的博客-CSDN博客_java 枚举单例
进而对此方式进行了一些改进,代码如下:
public class Singleton {
/*构造方法私有化*/
private Singleton(){}
/*静态方法获取实例*/
public static Singleton Instance(){
return InstanceHolder.INSTANCE.getInstance();
}
/*内部类(枚举)实例化外部类*/
private enum InstanceHolder{
INSTANCE();
private Singleton instance;
InstanceHolder(){
instance = new Singleton();
}
public Singleton getInstance(){
return instance;
}
}
public void print(){
System.out.println("我是枚举单例");
}
}
使用时与常规单例模式无异,代码如下:
public class MainTest {
public static void main(String[] args) {
Singleton singleton = Singleton.Instance();
singleton.print();
}
}