2021死磕源码 2015-11-27 02:29 采纳率: 100%
浏览 2722
已采纳

java-抽象类 子类实现相同方法 想想去执行抽象类中的方法,在从抽象类中调用子类具体方法

如下代码,想得到这样结果execute AA before execute..C execute AA after
应该怎么处理
public class Test {
public static void main(String[] args) {
C c = new C();
c.A();
}

}

interface YY {
public void A();
}
abstract class A implements YY{
public void A() {
System.out.println("execute AA before");
A();
System.out.println("execute AA after");
}
}

class B extends A {
public void B() {
System.out.println("execute B");
}
}

class C extends B implements YY{
@Override
public void A() {
System.out.println("execute..C");
}
}


  • 写回答

3条回答 默认 最新

  • 2021死磕源码 2015-11-27 02:53
    关注

    只是换一种思维

    ```public class Test {
    public static void main(String[] args) {
    C c = new C();
    c.A(12);
    c.BB();
    }

    }

    interface YY {
    public void A();
    }
    abstract class A implements YY{
    public void A(int a) { // 只是换一种思维
    System.out.println("execute AA before");
    A();
    System.out.println("execute AA after");
    }
    }

    abstract class B extends A {
    public void BB() {
    System.out.println("execute B");
    }
    }

    class C extends B implements YY{
    @Override
    public void A() {
    System.out.println("execute..C");
    }
    }

    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?