Java 8 memperkenalkan metode standar untuk menyediakan kemampuan untuk memperluas antarmuka tanpa perlu memodifikasi implementasi yang ada.
Saya bertanya-tanya apakah mungkin untuk secara eksplisit memanggil implementasi default dari suatu metode ketika metode itu telah ditimpa atau tidak tersedia karena implementasi standar yang bertentangan di antarmuka yang berbeda.
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?
}
}
Mempertimbangkan kode di atas, bagaimana Anda akan memanggil A.foo()
dari metode kelas B?