The default implementation calls Class.forName . If the class cannot be found ClassNotFoundException should be thrown. The resolveObject method is called just after an object has been deserialized but before the object has been assigned or returned. A subclass's implementation may return a substitute object that will be assigned or returned instead of the original. The object returned must be of a type that is consistent and assignable to every reference to the original object.
All assignments are type checked.
This interface allows an object to be called when a complete graph of objects has been deserialized. If the object cannot be made valid it should throw the ObjectInvalidException . These are the required signatures of the special methods that allow a class to control the serialization of its own fields and to perform any cleanup in the case of an exception. All exceptions thrown by serialization classes are subclasses of ObjectStreamException which is a subclass of IOException . MethodMissingException - thrown when only one of readObject and writeObject is found.