Estaba leyendo la Guía del programador para la certificación SCJP Java ™ de Khalid Mughal.
En el capítulo Herencia, explica que
La herencia de los miembros está estrechamente vinculada a su accesibilidad declarada. Si un miembro de la superclase es accesible por su nombre simple en la subclase (sin el uso de ninguna sintaxis adicional como super), ese miembro se considera heredado
También menciona que los métodos estáticos no se heredan. Pero el siguiente código está perfectamente bien:
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();
}
}
¿Cómo puedo usar directamente display()
en clase B
? Aún más, B.display()
también funciona.
¿La explicación del libro solo se aplica a los métodos de instancia?