Java 8 présente des méthodes par défaut pour offrir la possibilité d'étendre les interfaces sans avoir à modifier les implémentations existantes.
Je me demande s'il est possible d'invoquer explicitement l'implémentation par défaut d'une méthode lorsque cette méthode a été remplacée ou n'est pas disponible en raison d'implémentations par défaut conflictuelles dans différentes 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?
}
}
Compte tenu du code ci-dessus, comment appelleriez-vous à A.foo()
partir d'une méthode de classe B?