Я читал "Руководство программистов" Сертификация Java ™ SCJP от Khalid Mughal.
В главе "Наследование" объясняется, что
Наследование членов тесно связано с их объявленными доступность. Если член суперкласса доступен по простому имени в подклассе (без использования какого-либо дополнительного синтаксиса, такого как super), что член считается унаследованным
В нем также упоминается, что статические методы не наследуются. Но приведенный ниже код идеально подходит:
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();
}
}
Как я могу напрямую использовать display()
в классе B
? Более того, работает B.display()
.
Обоснование книги применимо только к методам экземпляра?