Eu estava lendo Um Guia do Programador para Certificação Java ™ SCJP de Khalid Mughal.
No capítulo Herança, explica que
A herança de membros está intimamente ligada à sua acessibilidade declarada. Se um membro da superclasse for acessível por seu nome simples na subclasse (sem o uso de nenhuma sintaxe extra como super), esse membro será considerado herdado
Ele também menciona que métodos estáticos não são herdados. Mas o código abaixo é perfeitamente correto:
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();
}
}
Como posso usar diretamente display()
nas aulas B
? Ainda mais, B.display()
também funciona.
A explicação do livro se aplica apenas a métodos de instância?