从子类调用超类的方法

Calling method of Superclass from subclasses

我在面试中遇到一个问题,我们是否可以从 EDC 访问 class ABC 的方法 display(),如下所示

class ABC {
    public void display() {
       System.out.println("from ABC");
    }
}

class CBD extends ABC {
    public void display() {
       System.out.println("From CBD");
    }
}

class EDC extends CBD {
    public void display() {
        System.out.println("From EDC");
    }
}

我想知道除了 ABC 的对象创建之外,我们是否可以从 class EDC 访问 ABC 的方法。我知道答案非常直接和简单,我们只能访问 EDC 的 super class 方法,即;通过 super.display() 显示 CBD 的 display(),但我感觉我是否缺少此处从 EDC 访问 ABC 的 display() 的任何方法。

我认为一种可能的方法如下

    class ABC {
public void display()
{
   System.out.println("from ABC");
}
public static  void main(String args[])
{
      ABC obj=new EDC();
      obj.display();

}
}
class CBD extends ABC {
public void display()
{
   super.display();
}
}
class EDC extends CBD {
public void display()
{
    super.display();
}
}

不,这是不可能的。 super.

只能升一级

您可以有一个从 CBD 调用 super() 并使用 super() 从 EDC 调用该方法的方法,即链接调用。