Serialization 5 Min Drill
Class must implement Serializable before its objects can be serialized.
Transient variable will not be serialized
Static class members will also be ignored during the serialization and deserialization process.
Default serialized form of an inner class is ill-defined.
If a superclass implements Serializable, then its subclasses do automatically.
If a superclass doesn't implement Serializable, then when a subclass object
is deserialized, the superclass constructor will be invoked, along with its superconstructor(s).
If the class or one of its contained classes does not properly implement the Serializable interface
then will throw a NotSerializableException.
When you deserialize an object, the constructor of the serialized class is not called.
Inner classes should not implement Serializable.
You can supplement a class's automatic serialization process by implementing
the writeObject() and readObject() methods.
ObjectOutputStream.writeObject() method serializes objects, &
ObjectInputStream.readObject() method deserializes objects.