扩展实现Serializable的类

时间:2017-11-15 20:27:17

标签: java serialization extends serializable implements

如果我扩展一个实现Serializable的类,我是否还需要该类来实现Serializable?

例如,如果我有,

public class classToBeExtended implements Serializable

那么这就足够了吗?

public class classThatWillExtend extends classToExtended

或者我需要这样做吗?

public class classThatWillExtend extends classToExtended implements Serializable

2 个答案:

答案 0 :(得分:3)

Javadoc

  

可序列化类的所有子类型本身都是可序列化的

答案 1 :(得分:3)

如果任何类的超类实现给定的接口,则子类也实现该接口。 Serializable在这方面并不特别,所以不,Serializable类的子类不需要明确声明它们实现Serializable。他们可以如此声明,但这样做没有任何区别。

另一个含义是,如果扩展Serializable类,则应确保子类本身确实可序列化。例如,除非您准备添加必要的方法来支持它们,否则不要添加非可序列化类型的非transient字段。