Khalid Mughal によるA Programmer's Guide to Java™ SCJP Certification を読んでいました。
継承の章では、次のように説明しています。
メンバーの継承は、宣言されたアクセシビリティと密接に関係しています。スーパークラスのメンバーがサブクラスで単純な名前でアクセスできる場合 (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()
動作します。
本の説明はインスタンスメソッドにのみ適用されますか?