Win a copy of Design for the Mind this week in the Design forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Reference variable code

 
Saurabh Verma
Ranch Hand
Posts: 38
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator



The output at line 1 is 10.
Can anybody explain the code?
 
Sivakumar Manikkavasagam
Greenhorn
Posts: 15
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
In Check this Line(Commented) - bb is the new instance of BClass, so it will not pass this 200 to the main program. It will display only 10
Check this program!!!
I think this program will give you the flow of the variable j.
I hope it will be useful for you.


class AClass {
void aMethod(BClass bb) {
bb.j = 10;
System.out.println("bb.j1=" +bb.j);
bb = new BClass();//Check this
bb.j = 200;
System.out.println("bb.j2=" +bb.j);
}
}
class BClass {
int j = 0;
}
public class Test {
public static void main(String[] args) {
int i = 1;
AClass a = new AClass();
BClass b = new BClass();
b.j = 5;
System.out.println("b.j1=" +b.j);
a.aMethod(b);
System.out.println("b.j2=" +b.j);
int j = b.j;
System.out.println("j="+j);//Line 1
}
}

Output
b.j1=5
bb.j1=10
bb.j2=200
b.j2=10
j=10
 
Saurabh Verma
Ranch Hand
Posts: 38
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Thanks Shivkumar!!
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic