Czytałem Podręcznik programisty po certyfikacji Java ™ SCJP autorstwa Khalida Mughala.
W rozdziale Dziedziczenie wyjaśnia to
Dziedziczenie członków jest ściśle związane z ich deklarowaną dostępnością. Jeśli element członkowski nadklasy jest dostępny poprzez swoją prostą nazwę w podklasie (bez użycia dodatkowej składni, takiej jak super), ten element członkowski jest uznawany za dziedziczony
Wspomina również, że metody statyczne nie są dziedziczone. Ale poniższy kod jest w porządku:
class A
{
public static void display()
{
System.out.println("Inside static method of superclass");
}
}
class B extends A
{
public void show()
{
// This works - accessing display() by its simple name -
// meaning it is inherited according to the book.
display();
}
}
Jak mogę używać bezpośrednio display()
w klasie B
? Co więcej, B.display()
też działa.
Czy wyjaśnienie w książce dotyczy tylko metod instancji?