Java并跳过带有super [duplicate]的级别

问题描述

|                                                                                                                   这个问题已经在这里有了答案:                                                      

解决方法

        请参阅:为什么是super.super.method(); Java中不允许使用?     ,        @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();
    }
} 
在A中创建最终版本(不可覆盖)的方法的第二个版本,然后从C调用它。 这实际上是一个糟糕的设计,但有时需要在JDK本身内部使用。 问候,  斯特凡