Когда я прочитал о интерфейсе Serializable
в Thinking in java
, есть предложение, в котором говорится:
Если вы используете механизм по умолчанию для записи непереходных частей вашего объекта, вы должны вызвать функцию defaultWriteObject() в качестве первой операции в writeObject() и defaultReadObject() как первую операцию в readObject().
Добавление методов writeObject/readObject. Если версия, читающая поток, имеет эти методы, то, как обычно, readObject, как обычно, считывает требуемые данные, записанные в поток по сериализации по умолчанию. Он должен сначала вызвать defaultReadObject перед чтением любых дополнительных данных. Метод writeObject, как обычно, обычно вызывает вызов функции defaultWriteObject для записи необходимых данных, а затем может записывать дополнительные данные.
Итак, если я сначала не вызываю defaultWriteObject
, и если я напишу что-то еще до этого вызова, будет ли какая-нибудь проблема? Я пробовал это, но кажется, что он по-прежнему хорошо работает в моем примере. Итак, если есть какие-то проблемы, при каких условиях это может произойти?