java.io.Externalizable を実装するオブジェクトは、writeExternal メソッドを実装して、そのオブジェクトの状態全体を保存する必要があります。このオブジェクトは、そのスーパークラスと協調して、それらの状態を保管しなければなりません。ObjectOutput のすべてのメソッドが、オブジェクトのプリミティブ型フィールドとオブジェクトフィールドを保管するために使用できます。
public void writeExternal(ObjectOutput stream)
throws IOException;
JDKTM 1.2 で、外部化可能データを書き込むためのデフォルト形式が導入されました。新しい形式では、プリミティブデータは、writeExternal メソッドによってブロックデータモードで書き込まれるように指定されています。さらに、writeExternal メソッドから戻ったあとに、ストリームの末尾に外部オブジェクトの末尾を示すタグが追加されます。この形式変更の利点については、「3.6 readExternal メソッド」を参照してください。 この変更により生じる互換性の問題の詳細は、「2.6 useProtocolVersion メソッド」を参照してください。