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?
}
}
考虑上面的代码,您将如何A.foo()
从B类的方法调用?
您能告诉我为什么在接口A ??中对foo()方法实现了吗?
—
Maciej Cygan
@MaciejCygan Java 8中允许使用
—
Rohit Jain