扩展实现可序列化的类



如果我扩展实现可序列化的类,我是否需要该类也实现可序列化?

例如,如果我有,

public class classToBeExtended implements Serializable

那么这就足够了吗?

public class classThatWillExtend extends classToExtended

还是我需要这样做?

public class classThatWillExtend extends classToExtended implements Serializable

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

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

Per Javadoc:

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

最新更新