Java 8引入了默认方法,以提供扩展接口的能力,而无需修改现有实现.
我想知道,当该方法被覆盖或由于不同接口中的冲突默认实现不可用时,是否可以显式调用方法的默认实现.
interface A {
default void foo() {
System.out.println("A.foo");
}
}
class B implements A {
@Override
public void foo() {
System.out.println("B.foo");
}
public void afoo() {
// how to invoke A.foo() here?
}
}
Run Code Online (Sandbox Code Playgroud)
考虑到上面的代码,你会如何A.foo()从B类方法调用?