Stavo leggendo la Guida di un programmatore alla certificazione SCJP Java ™ di Khalid Mughal.
Nel capitolo Ereditarietà, questo spiega
L'eredità dei membri è strettamente legata alla loro accessibilità dichiarata. Se un membro della superclasse è accessibile con il suo nome semplice nella sottoclasse (senza l'uso di alcuna sintassi aggiuntiva come super), quel membro viene considerato ereditato
Indica anche che i metodi statici non sono ereditati. Ma il codice qui sotto è perfettamente perfetto:
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();
}
}
Come posso utilizzare direttamente display()
in classe B
? Ancora di più, B.display()
funziona anche.
La spiegazione del libro si applica solo ai metodi di istanza?