如果我扩展实现可序列化的类,我是否需要该类也实现可序列化?
例如,如果我有,
public class classToBeExtended implements Serializable
那么这就足够了吗?
public class classThatWillExtend extends classToExtended
还是我需要这样做?
public class classThatWillExtend extends classToExtended implements Serializable
如果类的任何超类实现给定接口,则子类也实现该接口。 Serializable
在这方面并不特别,所以不,Serializable
类的子类不需要显式声明它们实现Serializable
。 他们可以这样宣布,但这样做没有区别。
另一个含义是,如果扩展Serializable
类,则应确保子类本身确实是可序列化的。 例如,不要添加不可序列化类型的非transient
字段,除非您还准备添加必要的方法来支持它们。
Per Javadoc:
可序列化类的所有子类型本身都是可序列化的