使用枚举类型实现单例

2019-02-14  本文已影响0人  宋雾代

从Java 1.5 发行版本起,实现Singleton可以通过编写一个包含单个元素的枚举类型来实现:

示例如下:

public enum Singleton {

    INSTANCE;

    public void print(){

        System.out.println("HAHA");

    }

}

public class Main {

    public static void main(String[] args) {

         Singleton.INSTANCE.print();

    }

}

这种方法在功能上与公有域相近,但是其更加简洁,同时无偿提供了序列化机制,绝对意义上防止了多次实例化,即使在面对复杂的序列化和反射攻击的时候。

上一篇 下一篇

猜你喜欢

热点阅读