package obiekty;

public class Referencje1 {

	public static void main(String[] args) {
		Osoba ala = new Osoba("Ala", "Kowalska");
		Osoba ola = new Osoba("Ola", "Malinowska");
		
		Konto a = new Konto(1, 1000, ala);
		Konto b = new Konto(2, 2000, ola);
		
		System.out.println("a: " + a);
		System.out.println("b: " + b);
		
		Konto c = b;
		System.out.println("c: " + c);
		System.out.println();
		
		// zmiana salda wewnątrz obiektu Konto 2
		b.wplata(48);
		System.out.println("a: " + a);
		System.out.println("b: " + b);
		System.out.println("c: " + c);
		System.out.println();
		
		// zmiana zmiennej b tak, że od tej pory wskazuje na Konto 1; c się nie zmienia
		b = a;
		System.out.println("a: " + a);
		System.out.println("b: " + b);
		System.out.println("c: " + c);
		System.out.println();
		
		// tracimy dowiązanie do Konta nr 2 - może zostać usunięte z pamięci
		c = b;
		System.out.println("a: " + a);
		System.out.println("b: " + b);
		System.out.println("c: " + c);
		System.out.println();

		// do zmiennej obiektowej można wpisać wartość null , która oznacza, że zmienna nie wskazuje na żaden obiekt
		a = null;
		System.out.println("a: " + a);
		System.out.println("b: " + b);
		System.out.println("c: " + c);
		System.out.println();

		c = b = a;
		System.out.println("a: " + a);
		System.out.println("b: " + b);
		System.out.println("c: " + c);
	}

}
