您好,欢迎来到要发发知识网。
搜索
您的当前位置:首页java枚举实现单例的方法

java枚举实现单例的方法

来源:要发发知识网

本教程操作环境: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学习指路:

Copyright © 2019- net188.cn 版权所有 湘ICP备2022005869号-2

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务