2011-06-15 54 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