2011-03-10 158 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。