When using the Externalizable Interface, an externalizable object must implement a writeExternal method to save the state of the object and a readExternal method to restore the state of the object. The externalizable object must also coordinate with its supertype to save and restore its state.
This example demonstrates how an object saves and restores the state of
its nonexternalizable supertype. When the supertype of an
externalizable object is not externalizable, the subclass object
must explicitly save and restore the state of the fields of the superclass
in its own writeExternal and readExternal methods.