জাভা 8 বিদ্যমান বাস্তবায়নগুলি সংশোধন করার প্রয়োজন ছাড়াই ইন্টারফেসগুলি বাড়ানোর ক্ষমতা প্রদান করার জন্য ডিফল্ট পদ্ধতিগুলি প্রবর্তন করে ।
আমি অবাক হই যে, যখন এই পদ্ধতিটি ওভাররাইড করা হয়েছে বা বিভিন্ন ইন্টারফেসে দ্বন্দ্বপূর্ণ ডিফল্ট বাস্তবায়নের কারণে উপলভ্য নয় তখন কোনও পদ্ধতির ডিফল্ট প্রয়োগটি স্পষ্টভাবে বলা সম্ভব কিনা।
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?
}
}
উপরের কোডটি বিবেচনা করে, আপনি কীভাবে A.foo()
বি ক্লাসের একটি পদ্ধতি থেকে কল করবেন ?