本教程操作环境:windows7系统、java10版,DELL G3电脑。
很多人说枚举类是实现单例的最好方法,因为枚举类单件是线程安全的,也是唯一不能破坏的单件模式实现。也就是说,不能通过反射来创建一个实例,这就保证了整个应用中只有一个实例,是一个非常硬核的单个实例。
1、实现步骤
(1)内部类使用枚举
(2)在枚举类的构造器里初始化
(3)对外部提供的获取单例的方法
(4)获取单例对象,返回并测试
2、实例
public class SingletonObj { //内部类使用枚举 private enum SingletonEnum { INSTANCE; private SingletonObj singletonObj; //在枚举类的构造器里初始化singletonObj SingletonEnum() { singletonObj = new SingletonObj(); } private SingletonObj getSingletonObj() { return singletonObj; } } //对外部提供的获取单例的方法 public static SingletonObj getInstance() { //获取单例对象,返回 return SingletonEnum.INSTANCE.getSingletonObj(); } //测试 public static void main(String[] args) { SingletonObj a = SingletonObj.getInstance(); SingletonObj b = SingletonObj.getInstance(); System.out.println(a == b);//true } }
以上就是java枚举实现单例的方法,希望能对大家有所帮助。更多Java学习指路:Java基础