In Table 11.2, the parameters of writeObject() and readObject() seem to be inverted. writeObject() should take an ObjectOutputStream as parameter, while readObject() should take an ObjectInputStream.
So, in Table 11.2 at pag. 596 there is a list of the methods for serialization and deserialization. The table lists the return type, the method name, the method parameters and the description.
The two lines which correspond to the methods writeObject() and readObject() are the following:
Serializes optionally using PutField
Deserializes optionally using GetField
I think in the third column (Parameters) the two should be inverted, meaning writeObject() takes an ObjectOutputStream as parameter, while readObject() takes an ObjectInputStream.
Those would seem to be different methods from what I linked to. Which classes are those methods in? The readObject method I told you about earlier returns Object, not void. I think we need more information please.
The methods I am referring to are not the ones from ObjectInputStream and ObjectOutputStream, but are the ones that you can optionally provide in a class that implements the Serializable interface, when you want to use ObjectInputStream.getField and ObjectOutputStream.putField respectively.