Hi everyone, I came upon this piece of code in Kathy sierra, wasn't able to make much sence of it so thought of asking, could anyone tell me why SOP(1) gives an object while SOP(2) gives null, actually the piece of code:instance1.instance2 is not clear to me, the code is as follows:
Thanks in advance, Ravissant Markenday
Post by:Joanne Neal
q1 was created with the no argument constructor of the Q6 class, which doesn't initialise its qInstance variable.
Post by:Rob Spoor
Q6 q1 = new Q6(); calls the first constructor, which does nothing. As such, q1.qInstance never gets anything assigned to it.
Now the rule is, any field (not local variable!) that never gets a value assigned will get a default value - null for objects. Since q1.qInstance never gets anything assigned to it, it will remain null.