// 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
*/
