Spis treści
W języku Java każda klasa może bezpośrednio rozszerzać tylko jedną klasę. Próba kompilacji poniższej klasy Kot zakończyłaby się błędem:
public class Zwierze { // ... }
public class NajlepszyPrzyjacielCzlowieka { // ... }
public class Kot extends Zwierze, NajlepszyPrzyjacielCzlowieka { // ... }
Komunikat zwracany przez kompilator:
Kompilator spodziewał się klamry otwierającej ciało klasy Kot zamiast przecinka i nazwy kolejnej klasy, którą chcieliśmy rozszerzyć.
Klasa nie może bezpośrednio rozszerzać więcej niż jednej klasy, ale pośrednio tak, tzn. klasy mogą mieć w swojej hierarchii dziedziczenia wiele klas:
public class Zwierze { // ... }
public class Ssak extends Zwierze { // .. }
public class Kot extends Ssak { // ... }
public class Dachowiec extends Kot { // ... }
W powyższym przypadku, klasa Dachowiec bezpośrednio rozszerza klasę Kot, a ponadto ma w swojej hierarchii dziedziczenia klasy Ssak oraz Zwierze (a także klasę Object, która jest tematem jednego z kolejnych rozdziałów). Innymi słowy, klasa Dachowiec pośrednio dziedziczy po tych klasach.
Pamiętaj, że w języku Java klasy mogą rozszerzać maksymalnie jedną, wybraną przez Ciebie klasę, tzn. po słowie kluczowym extends możesz umieścić nazwę co najwyżej jednej klasy.