我在面试中遇到一个问题,我们是否可以从 EDC 访问 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");
}
}
我想知道我们是否可以从 EDC 类访问 ABC 的方法,而不是创建 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
升一级。
关于java - 子类调用父类(super class)的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35514580/