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学习指路:Java基础

以上是 java枚举实现单例的方法 的全部内容, 来源链接: utcz.com/z/543560.html

回到顶部