[英]Hierarchy of classes in serialization and deserialization
我有一个类层次结构,如下所示:
public class A implements Serializable {}
public class B extends A {}
public class C implements Serializable extends B {}
public class D extends C {}
我的判断正确吗?
序列化类D
,将层次结构中的所有类都序列化,因为子类已序列化。
当反序列化类D
,不需要默认构造函数,并且整个层次结构都将反序列化。
你是对的。 由于顶级类A
实现Serializable
,并且类从其超类继承接口,因此您所有的类都是可序列化的。 不需要默认构造函数,因为所有类都可以通过序列化指示可以通过从流中读取其状态来安全地重构它们。
在序列化类D流程中,所有层次结构都已序列化,因为子类已序列化。
不,因为基类A
是Serializable
,所以它们都已序列Serializable
。
在反序列化类D流程中,不需要任何无参数的构造函数,并且所有层次结构都将反序列化。
正确。 最接近的A
不可序列化基类将需要一个无参数的构造函数,但在这种情况下,它是java.lang.Object
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.