次の状況に気付きました: 内部クラスは、そのスーパー クラスと外部クラスにあるメソッドを呼び出しています。ここにコード:
public class Main
{
class Inner extends InnerBase{
public void callMethod(){
method();
}
}
void method(){
System.out.println ("Called Main's method");
}
class InnerBase{
void method(){
System.out.println ("Called InnerBase's method");
}
}
}
callMethod() が呼び出されると、スーパークラスのメソッドが呼び出され、「Called InnerBase's method」が出力されます。callMethod() で呼び出している method() で IDE (Eclipse) から 'Open Declaration' を実行しようとすると、外部クラスのメソッドに移動します。どちらが本物と呼んでいるのか混乱します。外部クラスとスーパークラスで同じ名前の実行メソッドを選択する状況を説明する資料を提案または提供できますか。前もって感謝します。