基于枚举实现的单例

相较于类公有final域和静态构造方法实现的单例,基于枚举实现的单例更加安全:

  • 无法通过反射将构造函数Accessible设置为public。
  • 对于可序列化的类,无需实现重写readObject方法。