扩展vs实现子类

时间:2018-03-28 12:34:24

标签: java jmockit

public interface A{
  public void doSomething();
}

public abstract class B{
  public void doSomething(){
    //implementation...
    }
  }

public abstract class C extends B implements A{
}

public class D extends C{
... //doSomething() is not overriden 
}

这个编译没有问题,当D的实例调用方法doSomething()。

但是当从D的实例调用方法并且在D中没有覆盖该方法时,jmockit会出错。请解释此行为。

1 个答案:

答案 0 :(得分:0)

找到了解决方案。我没有提到的是我们使用jmockit版本1.30,因为我认为这不是问题。这个问题在更高版本中得到了明确修复。

https://github.com/jmockit/jmockit1/issues/389