package p11_klasy.podstawy_v6;

public class Przyklad2_Konstruktory {

	public static void main(String[] args) {
		System.out.println("Początek main");
		// Tworzenie obiektów na zasadzie:
		// - konstruktor domyślny, które niezainicjowane pola (null, 0)
		// - a następnie wpisujemy wszystkie wartości
		// ma dwie wady:
		// 1) rozwlekłość zapisu
		// 2) przez jakiś czas obiekt nie jest poprawnie zainicjowany, nie jest gotowy do pracy
		//    programista może "zapomnieć" wpisać dane do pól i działać z takim upośledzonym obiektem
		
		Osoba a = new Osoba();
		a.imie = "Ala";
		a.przedstawSie(); // Ala null 0 lat
		a.nazwisko = "Kowalska";
		a.wiek = 30;
		a.przedstawSie();
		System.out.println();
		
		// Gdy w klasie zdefiniujemy odpowiedni konstruktor, będziemy mogli tworzyć obiektu od razu wypełnione danymi
		Osoba b = new Osoba("Ola", "Malinowska", 20);
		b.przedstawSie();
	}

	static {
		System.out.println("blok statyczny w programie");
	}
}
