多级继承:从​​子类调用仅高一级的方法

时间:2011-03-10 10:26:01

标签: java inheritance

基本上,我有3个班级

class abstract A{}
   protected aMethod(){}

class abstract B extends A{
   protected aMethod(){}
}

class C extends B{
  // How do I call B.aMethod() from here? As super.aMethod() 
  // would call A.aMethod()?
}

查看代码。我想调用一个比最低级别高一级的方法。但是调用super.aMethod()会返回根类实现吗?

编辑:结果超级确实只升高一级,上帝知道我在尝试什么......新秀错了,道歉所有!

3 个答案:

答案 0 :(得分:2)

super.aMethod()会完全按照您的意愿行事。

答案 1 :(得分:0)

实际上从C调用super.Method(),应该在B中调用Method()而不是在A中调用。

答案 2 :(得分:0)

super.aMethod()
如果B实现该方法,

应该可以正常工作。

此外,就像您的标记上的注释一样,多重继承会说“扩展”多个基类,例如:

public C extends B, A { ... } // WRONG SYNTAX!

,Java不支持。