从子类

时间:2016-02-19 20:39:32

标签: java class superclass

我在面试中遇到一个问题,我们是否可以从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的超类方法,即; CBD的display()通过super.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();
}
}

2 个答案:

答案 0 :(得分:2)

不,这是不可能的。您只能使用super升级一级。

答案 1 :(得分:1)

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