yang_java2004 发表于 2014-09-11 18:43

java面试题悬赏baidu

本帖最后由 yang_java2004 于 2014-09-11 18:44 编辑

有高手吗,问个java问题;

abstract class A{

protected abstractvoid run();

public String abc(){
        System.out.println("*********");
}
}

class B extends A{

   public void run(){
        System.out.println("BBBB");
    }


我需要B.run运行结束后,默认执行A.abc 该怎么写?代码不能体现在B的类里(如用super调用),因为继承A的类有好多,要不然每个子类都要手工加super。怎样改造A类

hbsycw 发表于 2014-09-16 15:21

直接实现的一种方法:
public static void main(String[]args){

   B b=new B();
   b.run();
   b.abc();

}

或者 改造B类run()方法:
public void run(){
      System.out.println("BBBB");
      abc();
}


也许更该改变的是你对问题的思维!



页: [1]
查看完整版本: java面试题悬赏baidu