package p10_klasy.v0;

public class Program0 {

    public static void main(String[] args) {
        System.out.println("Początek programu");
        // Dzięki temu, że mamy zdefiniowaną klasę Osoba,
        // możemy deklarować zmienne tego typu i tworzyć obiekty tej klasy.
        Osoba a = new Osoba();
        Osoba b = new Osoba();
        System.out.println(a);
        System.out.println(b);
        System.out.println();
        
        // Każdy obiekt w Javie posiada kilka predefiniowanych metod:
        System.out.println(a.getClass());
        System.out.println(a.toString());
        System.out.println(a.hashCode() + " , " + b.hashCode());
        System.out.println(a.equals(a));
        System.out.println(a.equals(b));
        
        // i jeszcze metody zw. z synchronizacją wątków:
        // wait, notify, notifyAll
        // i niepubliczne metody clone oraz finalize, które twórca klasy może "upublicznić"
    }

}
