根据
this article你访问默认方法在接口A使用
A.super.foo();
这可以如下使用(假设接口A和C都具有默认方法foo())
public class ChildClass implements A, C {
@Override
public void foo() {
//you could completely override the default implementations
doSomethingElse();
//or manage conflicts between the same method foo() in both A and C
A.super.foo();
}
public void bah() {
A.super.foo(); //original foo() from A accessed
C.super.foo(); //original foo() from C accessed
}
}
A和C都可以有.foo()方法,可以选择特定的默认实现,也可以使用一个(或两个)作为新的foo()方法的一部分。您还可以使用相同的语法来访问实现类中其他方法中的默认版本。