How are the constructors called during serialization and deserialization
When there is one class implementing serializable?
When there is parent/child relationship and only child implements serializable?
When there is parent/child relationship and both parent and child implements serializable?
In my opinion the answer of your question is :
1) If one class is implementing serializable and only that class is there no parent class is there.
constructor flow is like default constructor will be call of the parent class who is not implemented serializable. in this case it is Object class. so No-arg constructor of Object class will run and will create dummy object and while calling readObject() field will be set by reflection and data which is saved in memory or file.
2) if only child implements serializable then flow will goes till the base class which is not serializable. if dierect base class is not serialized then (that class should have NO-Arg constructor) NO-Arg constructor will run for base class in this case.
3) if all the parents are serialized then flow will goes to Object class and No-Arg constructor will run of Object class.
Note : But you can serialize by implementing externalizable interface then default constructor (NO-ARG) will be called of that class only not of parent class on deserialization process.