जावा 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()
कक्षा B की विधि से कैसे कॉल करेंगे ?