品易云推流 关闭
文章详情页
文章 > java基础 > java枚举实现单例的方法

java枚举实现单例的方法

头像

小妮浅浅

2021-04-26 10:14:004108浏览 · 0收藏 · 0评论

本教程操作环境: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基础

关注

关注公众号,随时随地在线学习

本教程部分素材来源于网络,版权问题联系站长!

底部广告图