Java - programowanie obiektowe Narzędzia przydatne przy programowaniu obiektowym Klasy i obiekty - co to jest Zmienne i obiekty - stos i sterta (heap vs. stack) Mechanizm zarządzania stertą - Garbage Collector Metody Przeciążanie metod - method overloading Konstruktor obiektów danej klasy Klasy - organizacja - kompilacja kodu obiektowego Pakiety klas Modyfikatory dostępu - Access Modifiers Statyczne i niestatyczne elementy klasy (static vs. non-static) Zakres widoczności zmiennych - variable scope Dziedziczenie klas Nadpisywanie metod klasy nadrzędnej Modyfikator final Klasy abstrakcyjne Dziedziczenie klas abstrakcyjnych Interfejsy Dziedziczenie interfejsów Rozpoznawanie czy dana klasa jest interfejsem Rozpoznawanie klasy obiektu Rzutowanie klas (typów obiektowych) Słowa kluczowe this oraz super DZIEDZICZENIE - wersja zaawansowana