// more "pass by reference" DIS // what happens if you make an alias? class Data3 { int k; } class Test3 { 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 class pass3 { public static void main(String[] args) { Test3 t = new Test3(); 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); t.change(d1,d2); System.out.println("After passing (x): " + d1.k); System.out.println("After passing (y): " + d2.k); } } /* Before passing (x): 1 Before passing (y): 3 Before change (x): 1 Before change (y): 1 After change (x): 2 After change (y): 2 After passing (x): 2 After passing (y): 3 */