If the superclass is not Serializable , the fields will not be serialized. Moreover, you need to have a no-args constructor in the superclass.
As the documentation says:
During deserialization, fields of non-serialization classes will be initialized using the public or protected constructor of the no-arg class. The no-arg constructor must be available for the subclass that is being serialized.
Michal borek
source share