オブジェクトをシリアル化し、そのデータをクライアント プログラムに送信した後に逆シリアル化しようとしています。
オブジェクトの継承がどのように機能するかの例を次に示します。私がシリアライズおよびデシリアライズしているオブジェクトは人です。
生活 -> 動物 -> NPC -> 人 -> 子供
Living、Animal、NPC は Serializable を実装していません。これらの 3 つのクラスを変更することはできません。Person と Child は Serializable を実装します。Person と Living も抽象クラスです。Person (子) を正常にシリアル化して送信できますが、Person (子) を逆シリアル化しようとすると、「有効なコンストラクターがありません」という子で InvalidClassException が発生します。
なぜこうなった?Living、Animal、および NPC はすべて Serializable を実装する必要がありますか?