美文网首页
枚举单例原理

枚举单例原理

作者: buzuibugui | 来源:发表于2019-04-01 16:03 被阅读0次
    单例实现思路

    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
            });
        }
    }
    

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

    相关文章

      网友评论

          本文标题:枚举单例原理

          本文链接:https://www.haomeiwen.com/subject/oupvbqtx.html