Jawne wywoływanie domyślnej metody w Javie
Java 8 wprowadzadomyślne metody aby zapewnić możliwość rozszerzenia interfejsów bez konieczności modyfikowania istniejących implementacji.
Zastanawiam się, czy możliwe jest jawne wywołanie domyślnej implementacji metody, gdy ta metoda została zastąpiona lub nie jest dostępna z powodu konfliktowych implementacji domyślnych w różnych interfejsach.
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?
}
}
Biorąc pod uwagę powyższy kod, jak byś zadzwoniłA.foo()
z metody klasy B?