第三条:用私有构造器或者枚举类型强化Singleton属性

Singleton类就是单例类,就是只能被实例化一次的类。

需要注意的是,对于单例类变成可序列化,仅仅在声明上加上“implements Serializable” 是不够的,还要将所有的实例域(非static的域)

声明为transient(瞬时)的,并提供一个readResolve方法。否则,我们反序列化一个单例类的实例时,都会创建一个这个单例类的新的实例,这样就与单例类的本质不符合了。

从JDK1.5开始,我们还可以考虑使用枚举来定义单例类。

原文地址:https://www.cnblogs.com/wangliyue/p/4432629.html