我有一个接口A
,其默认方法为printme()
,与抽象类B
中的方法相同。如果我使用B
扩展抽象类TestClass
并实现接口A
,则printme()
中不会显示TestClass
方法。
以下是代码:
interface A {
default void printme() {
System.out.println("Interface A");
}
}
abstract class B {
public void printme() {
System.out.println("Abstract Class B");
}
}
public class TestDefaultMethod extends B implements A {
public static void main(String[] args) {
TestDefaultMethod td = new TestDefaultMethod();
td.printme(); //from Interface A
}
}
我无法理解如何以及为什么我无法从Abstract类访问方法。