Как вызвать метод по умолчанию, определенный в интерфейсе ITest? Метод, определенный в ITest, кажется, переопределен MyAbstract и не был случайно вызван в подклассе NotAmbiguousExample.
interface ITest {
default void myMethod() {
System.out.println("My interface method");
} ;
}
abstract class MyAbstract {
public void myMethod() {
System.out.println("My abstract method");
} ;
}
/**
* Even we cast the class to interface, but only the method in super class is called?
*/
class NotAmbiguousExample extends MyAbstract implements ITest {
public static void main(String[] args) {
NotAmbiguousExample notAmbiguousExample = new NotAmbiguousExample();
notAmbiguousExample.myMethod();
ITest iTest = (ITest) notAmbiguousExample ;
iTest.myMethod();
}
}