Java 8 introduit des méthodes par défaut à offrir la possibilité de prolonger les interfaces sans avoir à modifier les applications existantes.
Je me demande si il est possible d'appeler explicitement la valeur par défaut de la mise en œuvre d'une méthode lorsque cette méthode a été remplacée ou n'est pas disponible en raison de conflits implémentations par défaut dans les 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?
}
}
Considérant le code ci-dessus, comment vous appelez A.foo()
à partir d'une méthode de la classe B?