I'm trying to serialize an object and then deserialize it after sending its data to a client program.

Here's an example of how the object's inheritance works. The object I'm serializing and deserializing is person.

Living -> Animal -> NPC -> Person -> Child

Living, Animal, and NPC do not implement Serializable. I can not change those three classes. Person and Child do implement Serializable. Person and Living are also abstract classes. I can serialize a Person (who is a Child) just fine and send it, but when I attempt to deserialize a Person (who is a Child), I get an InvalidClassException on Child, saying "no valid constructor".

Why is this happening? Must Living, Animal, and NPC all implement Serializable?

Edit
Report