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

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");
    }
    }

    
    
    点赞 打赏 评论
  • sinat_31535993 2015-11-27 02:37

    建议去看看多态的概念

    点赞 打赏 评论
  • 紫气天堂 2015-11-27 02:50

    去看一下 java的三大特性:继承、封装和多态吧

    点赞 打赏 评论

相关推荐 更多相似问题