readObjectメソッドは、ストリームからオブジェクトを読み出すときに用いられます。 この時、必要な型を得るためには、Javaの安全なキャストが用いられます。 Javaでは、文字列と配列もオブジェクトであり、serializationの間、オブジェクトと して扱われます。 プリミティブ・データ型はDataInputの適当なメソッドを用いることでストリームから 読み出すことが出来ます。
デフォールトのオブジェクトdeserializationのメカニズムは、それぞれのフィールドの 内容を、それがストリームに書かれた時に持っていた値と型に復元します。 transientあるいはstaticと宣言されたフィールドは、deserializationのプロセスでは 無視されます。他のオブジェクトに対する参照は、それらのオブジェクトの ストリームからの呼び出しを、必要に応じて引き起こします。オブジェクトが形成する グラフは、正確に回復されます。deserializationでは、常に新しいオブジェクトが 割り当てられますので、既存のオブジェクトが書き換わることはありません。