Serializable
のインターフェイスについてを読むと、Thinking in java
次のような文があります。
デフォルトのメカニズムを使用してオブジェクトの非一時的な部分を書き込む場合は、writeObject( ) の最初の操作として defaultWriteObject( ) を呼び出し、readObject( ) の最初の操作として defaultReadObject( ) を呼び出す必要があります。
docs.oracle.com 5.6.2 では:
writeObject/readObject メソッドの追加 - ストリームを読み取るバージョンにこれらのメソッドがある場合、readObject は、通常どおり、デフォルトのシリアライゼーションによってストリームに書き込まれた必要なデータを読み取ることが期待されます。オプションのデータを読み取る前に、まず defaultReadObject を呼び出す必要があります。writeObject メソッドは、通常どおり defaultWriteObject を呼び出して必要なデータを書き込み、その後、オプションのデータを書き込むことが期待されます。
それでdefaultWriteObject
、最初に電話をかけず、その電話の前に何か別のことを書いた場合、問題はありますか? 試してみましたが、私の例ではまだうまく機能しているようです。では、問題があるとすれば、それはどのような状況で発生する可能性があるのでしょうか?