特別の扱いが必要なクラスは、次のようなsigantureを持つ自前の、readObject / writeObjectメソッドを用意しておく必要があります。
private void readObject(java.io.ObjectInputStream stream) throws IOException, ClassNotFoundException; private void writeObject(java.io.ObjectOutputStream stream) throws IOException
writeObjectメソッドは、対応するreadObjectがそれを復元できるように、 そのオブジェクトの状態の書き出しに責任をもたなければなりません。 このwriteObjectメソッドは、オブジェクトが属するスーパー・クラスやサブ・クラス の状態を気にする必要はありません。オブジェクトの状態は、それぞれのフィールドの 値を、writeObjectメソッドをObjectOutputStreamに書き出すか、プリミティブ・タイプ ならDataOutputでサポートされているメソッドで書き出すことができます。