我试图序列化一个对象,然后在将数据发送到客户端程序后将其反序列化。Java - 反序列化InvalidClassException(无效的构造函数)
下面是对象继承如何工作的示例。我正在序列化和反序列化的对象是人。
生活 - >动物 - > NPC - >人物 - >儿童
生活,动物,和NPC不会实现Serializable。我无法改变这三个班级。 Person和Child做了Serializable。人与生活也是抽象类。我可以序列化一个人(他是一个孩子)并发送它,但是当我试图反序列化Person(他是一个孩子)时,我在Child上得到一个InvalidClassException,并说“没有有效的构造函数”。
这是怎么发生的?必须生活,动物和NPC都实现Serializable?
可能相关:http://stackoverflow.com/questions/8632148/java-object-serialization-and-inheritance – leonbloy