枚举实现单例模式coding:
创建一个枚举的EnumInstance类
修改Test
运行结果,枚举类可以在序列号的情况下实现单例模式
现在我们判断一下它的属性是不是在序列化的情况下是不是还是同一个
运行结果
那我们现在来分析一下它底层是怎么实现的
进入到ObjectInputStream类中 的readEnum()方法
既然系列化不受影响,那反射会不会破坏枚举的单例呢?
通过报错信息我们可以知道,枚举类型是无法进行反射的。
枚举类的使用
枚举实现单例模式coding:
创建一个枚举的EnumInstance类
修改Test
运行结果,枚举类可以在序列号的情况下实现单例模式
现在我们判断一下它的属性是不是在序列化的情况下是不是还是同一个
运行结果
那我们现在来分析一下它底层是怎么实现的
进入到ObjectInputStream类中 的readEnum()方法
既然系列化不受影响,那反射会不会破坏枚举的单例呢?
通过报错信息我们可以知道,枚举类型是无法进行反射的。
枚举类的使用