Spis treści
- Hierarchia dziedziczenia | Java tutorial
- Polimorfizm
- Metody finalne
Hierarchia dziedziczenia | Java tutorial
W java i intellij, najeżdżając na nazwę klasy i wciskając ctrl + h, jesteśmy w stanie podglądnąć całą hierarchię dziedzicznie po klasie,

Widzimy, że nasza klasa BmwX1, ma jednego parenta w postaci Car, czyli nasza superclass.
Jednakże nawet nasza klasa Car ma 1 parenta mimo, że go niezdefiniowaliśmy. Tym parentem jest klasa Object.
Klasa object jest parentem dla każdej klasy utworzonej w java. Ma też swoje unikalna metody, kluczowe do zrozumienia działania każdego obiektu. Będziemy o nich opowiadać później.
Jak już sobie wspomnieliśmy, w java nie ma wielodziedziczenia, więc można dziedziczyć tylko raz, po jednej klasie. Natomiast klasa może implementować wiele interfejsów o czy będzie w rozdziale następny z seri java tutorial.
Polimorfizm
Polimorfizm w java ściśle dotyczy dziedziczenia. Każdy klasę możemy przypisać do którejkolwiek klasy po której dana klasa dziedziczy. Poniższy kod nie wyrzuci błędu.

Możemy powiedzieć, że nowa instancja klasa BmwX1, jest albo Objectem, Car-em albo egzemplarzem BmwX1.
Jednakże mogli użyć tylko metod i pól składowych dostępnych dla klasy która zadeklarowaliśmy mimo iż mamy egzemplarz klasy, która posiada więcej metod.
To jest pomocne przy wzorcach projektowych, o których będziemy mówić przy okazji interfejsów
Metody finalne
Słowo kluczowe final wyłącza nam możliwość dziedziczenia. Gdy damy np public final class BmwX1 {}
to klasy BmwX1, już nie dało rady by rozszerzyć przez słowo kluczowe extends. Kompilator java zwróciłby nam błąd kompilacji.
Metoda również może być final i tak samo, metody finalnej nie można już nadpisać.
Nawet pole składowe może być final i to znaczy, że nie można do niego przypisać nowej zmiennej. Pozostaje niezmienne od momentu utworzenia np, przez konstruktor.
pozdrawiamy,
Zespół Great
pomocne linki
calculations