2011-06-15 51 views

回答

3

@tgamblin是正確的,但在這裏是一個解決辦法:

class A{ 
    public void some(){ sharedCode() } 
    public final void someFromSuper(){ sharedCode() } 

    private void sharedCode() { //code in A.some() } 
} 

class B extends A{ 
    @Override 
    public void some(){} 
} 

class C extends B{ 
    @Override 
    public void some(){ 
    //I want to call A.some(); 
    someFromSuper(); 
    } 
} 

中一個是最後的(不可重寫)創建方法的第二個版本,並調用它來自C.

這實際上是一個糟糕的設計,但有時在JDK本身內部需要和使用。

Regards, Stéphane