一、实现序列化很简单,但是为什么不推荐所有的类都实现序列化呢?大致原因有以下几点:
1.一旦一个类发布,那么改变这个类的实现的灵活 性将大幅度降低。
2.增加bug以及出现错误的可能性。
3.随着一个类的版本迭代,测试的负担增加了。
二、一些建议:
1.为了继承而设计的类应该很少实现Serializable,接口也应该很少去扩展它。
2.为了继承而设计的不可序列化的类,你应该考虑提供一个空参构造函数。
三.总而言之,不要相信实现Serializable会很容易。而是应该慎重考虑这个问题,尤其是当设计者想要设计一个为了继承而设计的类的时候。
注:该博客转自Effective java中文版第二版,作者Joshua Bloch(美)