Ze strony dokumentacji oracle :
Jeśli twoja metoda przesłania jedną z metod jej nadrzędnej klasy, możesz wywołać przesłoniętą metodę za pomocą słowa kluczowego super
.
Możesz również użyć super
w odniesieniu do ukrytego pola (chociaż ukrywanie pól jest odradzane).
Użycie super
w konstruktorze podklas:
Wywołanie konstruktora nadklasy musi być pierwszym wierszem konstruktora podklasy.
Składnia wywołania konstruktora nadklasy to
super();
lub:
super(parameter list);
W super()
przypadku wywoływany jest bezargumentowy konstruktor nadklasy. W super(parameter list)
przypadku wywoływany jest konstruktor nadklasy z pasującą listą parametrów.
Uwaga: Jeśli konstruktor nie wywołuje jawnie konstruktora nadklasy, kompilator języka Java automatycznie wstawia wywołanie do konstruktora bezargumentowego nadklasy . Jeśli super klasa nie ma konstruktora bezargumentowego, wystąpi błąd kompilacji.
Powiązany post:
Polimorfizm a zastępowanie a przeciążanie
super
nie jest wymagane odniesieniek
.k
można odwoływać się bezpośrednio.super
byłby wymagany tylkoA.k
wtedy, gdyby zadeklarowałeś inne pole o nazwiek
wTest
(Test.k
).