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().
Но jmockit выдает ошибку, когда метод вызывается из экземпляра D, и метод не переопределяется в D. Пожалуйста, объясните это поведение.
A
говорит: Эй,D
, тебе нужен методdoSomething
. Но это так, поскольку он расширяется отB
, который обеспечивает реализацию. - person Zabuzard   schedule 28.03.2018String
, в то время как ваш метод изB
работает сInteger
, то методы отличаются, и вы упускаете реализацию для вариантаString
. - person Zabuzard   schedule 28.03.2018