• Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

What does this reference mean??

 
Ravissant Markandey
Ranch Hand
Posts: 41
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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
 
Joanne Neal
Rancher
Posts: 3742
16
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
q1 was created with the no argument constructor of the Q6 class, which doesn't initialise its qInstance variable.
 
Rob Spoor
Sheriff
Pie
Posts: 20610
63
Chrome Eclipse IDE Java Windows
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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.
 
Ravissant Markandey
Ranch Hand
Posts: 41
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
gawd yea ..Thanks so much Joanne
 
Ravissant Markandey
Ranch Hand
Posts: 41
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Yes Rob I got it, thanks so much
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic