Java 8 presenta métodos predeterminados para proporcionar la capacidad de extender interfaces sin la necesidad de modificar las implementaciones existentes.
Me pregunto si es posible invocar explícitamente la implementación predeterminada de un método cuando ese método se ha anulado o no está disponible debido a implementaciones predeterminadas conflictivas 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?
}
}
Considerando el código anterior, ¿cómo llamarías A.foo()
desde un método de clase B?