class A {
public int run(){
                  return 1;
         }
}Interface B {
public void run();
}public class C extends A implements B{
}C中重载public int run() {} 有错
实现 public void run() {} 有错
两个都写还是有错!!应该怎么办呢?

解决方案 »

  1.   

    java是不允许这么做的。
    硬要做可以这么办。
    public class C implements B {
    public void run(){}
    private class aaa extends A {}
    public A getA(){
      return new aaa();
    }
    }
      

  2.   

    Interface B {
    public void run();
    }
    把run增加返回值int,不会影响实现,和类A的一样就可以了
      

  3.   

    这样是不行的,我隐约记的在<<Think in java>>中讲过
      

  4.   

    回去查了一下《java编程思想》,上面也说,这种情况唯有避免