जावा में एक इंटरफ़ेस एक वर्ग के समान है, लेकिन एक इंटरफ़ेस के शरीर में केवल सार विधियां और
final
क्षेत्र (स्थिरांक) शामिल हो सकते हैं ।
हाल ही में, मैंने एक प्रश्न देखा, जो इस तरह दिखता है
interface AnInterface {
public default void myMethod() {
System.out.println("D");
}
}
इंटरफ़ेस परिभाषा के अनुसार, केवल अमूर्त विधियों की अनुमति है। यह मुझे उपरोक्त कोड संकलित करने की अनुमति क्यों देता है? default
कीवर्ड क्या है ?
दूसरी तरफ, जब मैं नीचे दिए गए कोड को लिखने की कोशिश कर रहा था, तो यह कहता है modifier default not allowed here
default class MyClass{
}
के बजाय
class MyClass {
}
क्या कोई मुझे default
कीवर्ड का उद्देश्य बता सकता है ? क्या यह केवल एक इंटरफ़ेस के अंदर की अनुमति है? यह किस प्रकार से अलग हो सकता है default
(कोई एक्सेस संशोधक नहीं)?