// more "pass by reference" DIS // what happens if you make an alias? // modified by Kiri Wagstaff, wkiri@cs.cornell.edu // Hint: draw boxes and arrows to figure out what's happening class Data3 { int k = 0; } public class Pass3 { public static void change(Data3 x, Data3 y) { y = x; System.out.println("Before change (x): " + x.k); System.out.println("Before change (y): " + y.k); y.k++; System.out.println("After change (x): " + x.k); System.out.println("After change (y): " + y.k); } public static void main(String[] args) { Data3 d1 = new Data3(); Data3 d2 = new Data3(); d1.k = 1; d2.k = 3; System.out.println("Before passing (x): " + d1.k); System.out.println("Before passing (y): " + d2.k); change(d1,d2); System.out.println("After passing (x): " + d1.k); System.out.println("After passing (y): " + d2.k); } }