[Logo]
Forums Register Login
static in Serialization
Hi, this is from Exam Lab. I read that static variables do not participate in Serialization. But, here it participates in Serialization..Why ??
 
Saibabaa Pragada wrote:Hi, this is from Exam Lab. I read that static variables do not participate in Serialization. But, here it participates in Serialization..Why ??

"Primitives as well as non-transient, non-static referenced objects are encoded into the stream. " from wikipedia
 
Saibabaa Pragada wrote:Hi, this is from Exam Lab. I read that static variables do not participate in Serialization. But, here it participates in Serialization..Why ??


If you set b to something else, right before you deserialize, you will notice that it doesn't change -- it is still that something else. The value is two, not because of the deserialization, but because that is the value. Remember, there is only one copy of static variables, and if you don't change it, it won't change.

Henry
Yeah, as told by Henry - the value is not because of deserialization, but because of the value of the static variable which was created while initializing the first object ob1.
You will notice the difference if you write serializing and deserializing code in two different files.
 
Trivikram Kamat wrote:...You will notice the difference if you write serializing and deserializing code in two different files.

Or to see what happens: Just run the class file once and then comment the lines for serialization, compile, and run it again then it will use the previously serialized file as the source and inside a different JVM.
Wink, wink, nudge, nudge, say no more ... https://richsoil.com/cards



All times above are in ranch (not your local) time.
The current ranch time is
Nov 21, 2017 14:08:29.