This is coming from the 1.4 Bates book (pg. 187-188)...Can you explain where the reference is being changed? My guess is where the * are..help please!
class Bar {int barNum =28;}
class Foo{
Bar myBar = new Bar();
void changeIt(Bar myBar)
{ myBar.barNum = 99;
System.out.println("myBar.barNum in changeIt is " + barNum);
* myBar = new Bar();
myBar.barNum = 420;
System.out.println("myBar.barNum in changeIt is now " +barNum);
}
public static void main(
String args[])
{ Foo f = new Foo();
System.out.println("f.myBar.barNum is " + f.myBar.barNum);
* changeIt(f.myBar);
System.out.println("myBar.barNum after changeIt is " + f.myBar.barNum);
}
Code prints:
f.myBar.barNum is 28
myBar.barNum in changeIt is 99
myBar.barNum in changeIt is now 420
f.myBar.barNum after changeIt is 99