Llamar explícitamente a un método predeterminado en Java
Java 8 introducemétodos por defecto para proporcionar la capacidad de extender interfaces sin la necesidad de modificar implementaciones existentes.
Me pregunto si es posible invocar explícitamente la implementación predeterminada de un método cuando ese método ha sido anulado o no está disponible debido a implementaciones predeterminadas en conflicto en diferentes interfaces.
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?
}
}
Teniendo en cuenta el código anterior, ¿cómo llamaríasA.foo()
De un método de clase B?