2011-03-10 162 views
0

调用一个方法只有一个级别更高基本上,我有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()会返回根类的实现?

编辑︰原来超级只是去更高一级,上帝知道我在想什么......菜鸟错误,道歉所有!

+0

为什么你认为它会调用'A.aMethod()'? – 2011-03-10 10:28:58

回答

2

super.aMethod()会做你想要的。

0

实际调用super.aMethod()从C,应该调用amethod方法()在B和没有A.

0
super.aMethod() 

应正常工作,如果B实现的方法。

而且,正如你的标记注释,多重继承朝说“推”不止一个基类,例如:

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

它不支持Java。