Invoking overridable methods from the readObject() method can allow the overriding method to read the state of the subclass before it is fully constructed , because the base class is deserialized first, followed by the subclass. As a result, readObject() must not call any overridable methods.
...
| Wiki Markup |
|---|
*SER09-EX0:* The {{readObject()}} method may invoke the overridable method {{java.io.ObjectInputStream.defaultReadObject()}} \[[SCG 2009|AA. Bibliography#SCG 09]\]. |
...
<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="bfbb79428024bf90-7cc99b84-4ce54939-b8c2a02a-904f20d442b412d950b6626b"><ac:plain-text-body><![CDATA[ | [[API 2006 | AA. Bibliography#API 06]] |
| ]]></ac:plain-text-body></ac:structured-macro> |
<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="2ce606807d59ddb9-4da0e669-421241b1-919e8c3e-f8d1ad2ac0e0c9e30ee36923"><ac:plain-text-body><![CDATA[ | [[Bloch 2008 | AA. Bibliography#Bloch 08]] | Item 17: "Design and document for inheritance or else prohibit it" | ]]></ac:plain-text-body></ac:structured-macro> |
...