Как называются конструкторы во время сериализации и десериализации
Когда существует один класс, реализующий сериализуемый?
Когда есть отношения родитель / потомок, и только потомки реализуют сериализуемый?
Когда есть отношения родитель / потомок, и родитель и потомок реализуют сериализуемый?
На мой взгляд, ответ на ваш вопрос:
1) Если один класс реализует сериализуемый и существует только этот класс, родительский класс отсутствует.
Поток конструктора похож на конструктор по умолчанию, который будет вызывать родительский класс, который не реализован сериализуемо. в данном случае это класс Object. поэтому будет запущен конструктор класса No-arg класса Object, который создаст фиктивный объект, и при вызове поле readObject () будет задано отражением и данными, сохраненными в памяти или файле.
2) если только дочерний объект реализует сериализуемый, то поток будет идти до базового класса, который не сериализуем. если прямой базовый класс не сериализован, тогда (этот класс должен иметь конструктор NO-Arg). В этом случае конструктор NO-Arg будет работать для базового класса.
3) если все родительские объекты сериализованы, поток переходит к классу Object, а конструктор No-Arg запускает класс Object.
Примечание: Но вы можете сериализовать, реализуя внешний интерфейс, тогда конструктор по умолчанию (NO-ARG) будет вызываться из этого класса, но не из родительского класса в процессе десериализации.