This week's book giveaway is in the OCPJP forum.
We're giving away four copies of OCA/OCP Java SE 7 Programmer I & II Study Guide and have Kathy Sierra & Bert Bates on-line!
See this thread for details.
The moose likes Programmer Certification (SCJP/OCPJP) and the fly likes Where should we implement readObject() and writeObject() Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of OCA/OCP Java SE 7 Programmer I & II Study Guide this week in the OCPJP forum!
JavaRanch » Java Forums » Certification » Programmer Certification (SCJP/OCPJP)
Bookmark "Where should we implement readObject() and writeObject()" Watch "Where should we implement readObject() and writeObject()" New topic
Author

Where should we implement readObject() and writeObject()

Thomas Bertran
Greenhorn

Joined: Sep 19, 2007
Posts: 1
Question 15 of chapter 6 in K&B reads that "you would implement the readObject() method in SpecialSerial".
I am trying to understand why implement it in SpecialSerial as opposed to TestSer, where the serialization/deserialization is done.

I didn't find any explanation in the book.
Thanks for your help.
marc weber
Sheriff

Joined: Aug 31, 2004
Posts: 11343

Welcome to JavaRanch!

This is a good question. See pages 449-452 for an explanation.


"We're kind of on the level of crossword puzzle writers... And no one ever goes to them and gives them an award." ~Joe Strummer
sscce.org
Kelvin Chenhao Lim
Ranch Hand

Joined: Oct 20, 2007
Posts: 513
Most likely, you're confused because there are actually two different "readObject()" methods being used here. One is the "Object readObject()" method of ObjectInputStream, which is what TestSer is invoking. However, you can also implement a different readObject() method in the Serializable class itself to customize the serialization process. This other readObject() method has a different signature from the one invoked by TestSer: "void readObject(ObjectInputStream in)". Same thing with writeObject().

I always thought it was a little unfortunate that Java's designers decided to use the same name for those two methods. Something like "readObject()" and "readThisObject()" would have been a bit better, in my opinion.


SCJP 5.0
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: Where should we implement readObject() and writeObject()