我正在尝试序列化一个对象,然后在将其数据发送到客户端程序后对其进行反序列化。
这是对象继承如何工作的示例。我正在序列化和反序列化的对象是人。
生活 -> 动物 -> NPC -> 人 -> 儿童
Living、Animal 和 NPC 不实现 Serializable。我不能改变这三个类。Person 和 Child 确实实现了 Serializable。Person 和 Living 也是抽象类。我可以很好地序列化一个人(他是一个孩子)并发送它,但是当我尝试反序列化一个人(他是一个孩子)时,我在 Child 上得到一个 InvalidClassException,说“没有有效的构造函数”。
为什么会这样?Living、Animal 和 NPC 都必须实现 Serializable 吗?