In Java 8 werden Standardmethoden eingeführt , mit denen Schnittstellen erweitert werden können, ohne dass vorhandene Implementierungen geändert werden müssen.
Ich frage mich, ob es möglich ist, die Standardimplementierung einer Methode explizit aufzurufen, wenn diese Methode überschrieben wurde oder aufgrund widersprüchlicher Standardimplementierungen in verschiedenen Schnittstellen nicht verfügbar ist.
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?
}
}
Wie würden Sie unter Berücksichtigung des obigen Codes A.foo()
eine Methode der Klasse B aufrufen ?