枚举单例原理

单例实现思路

1、构造方法私有化;2、实例化的变量引用私有化;3、获取实例的方法共有。

Hello.java
public enum Hello {
    HELLO;
}
通过 javac Hello.java
jad -sjava Hello.class获取的编译后的数据
public final class Hello extends Enum {
    public static Hello[] values() {
        return (Hello[]) $VALUES.clone();
    }
    public static Hello valueOf(String s) {
        return (Hello) Enum.valueOf(Hello, s);
    }
    private Hello(String s, int i) {
        super(s, i);
    }
    public static final Hello HELLO;
    private static final Hello $VALUES[];
    static {
        HELLO = new Hello("HELLO", 0);
        $VALUES = (new Hello[]{
                HELLO
        });
    }
}

优点:避免反射、序列化问题

你可能感兴趣的:(枚举单例原理)