Java 8, mevcut uygulamaları değiştirmeye gerek kalmadan arabirimleri genişletme yeteneği sağlamak için varsayılan yöntemler sunar.
Bu yöntem geçersiz kılındığında veya farklı arabirimlerdeki çakışan varsayılan uygulamalar nedeniyle kullanılabilir olmadığında, bir yöntemin varsayılan uygulanmasını açıkça çağırmanın mümkün olup olmadığını merak ediyorum.
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?
}
}
Yukarıdaki kod göz önüne alındığında, A.foo()
B sınıfı bir yöntemden nasıl çağırırsınız ?