File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
The moose likes Programmer Certification (SCJP/OCPJP) and the fly likes Serialization Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Certification » Programmer Certification (SCJP/OCPJP)
Bookmark "Serialization" Watch "Serialization" New topic


Sushant Kaushik

Joined: Dec 12, 2008
Posts: 25
Source - K &B chapter 6, Page 455

The Output is -
before: Fido 35
after: Fido 42

This is fine as Animal class didn't implement Serializable interface so weight got its intialized value of 42.
My question is if I modify Animal class as -

The output is
before: Fido 35
after: Fido 0

Can somebody please explain why in this case I am getting 0 for weight instead of 42?

Arie Prastowo

Joined: Apr 20, 2008
Posts: 22
if you do not use serialization on parent class, it's attribute will not be serialized no matter you mark it as transient or not.
When you deserialized, the attribute from not serialized parent class will be initialized.
But on serialized parent class, a transient attribute is not serialized or deserialized, so the value is 0 as in default value

SCJP 5.0<br />Use the power of mind
Sushant Kaushik

Joined: Dec 12, 2008
Posts: 25
Thanks it got clarified
I agree. Here's the link:
subject: Serialization
It's not a secret anymore!