एक इंटरफ़ेस को "घोषित" सार के लिए क्यों आवश्यक है?
यह।
public abstract interface Interface {
\___.__/
|
'----> Neither this...
public void interfacing();
public abstract boolean interfacing(boolean really);
\___.__/
|
'----> nor this, are necessary.
}
इंटरफेस और उनके तरीके निहित हैं abstract
और उस संशोधक को जोड़ने से कोई फर्क नहीं पड़ता है।
क्या अन्य नियम हैं जो अमूर्त इंटरफ़ेस के साथ लागू होते हैं?
नहीं, समान नियम लागू होते हैं। विधि को किसी भी (ठोस) लागू करने वाले वर्ग द्वारा लागू किया जाना चाहिए।
यदि सार अप्रचलित है, तो इसे जावा में क्यों शामिल किया गया है? क्या अमूर्त इंटरफ़ेस के लिए एक इतिहास है?
दिलचस्प सवाल। मैंने जेएलएस के पहले संस्करण को खोदा , और यहां तक कि यह भी कहता है "यह संशोधक अप्रचलित है और इसे नए जावा प्रोग्राम में उपयोग नहीं किया जाना चाहिए" ।
ठीक है, आगे भी खुदाई करना ... कई टूटे हुए लिंक को मारने के बाद, मैं मूल ओक 0.2 विनिर्देश (या "मैनुअल") की एक प्रति खोजने में कामयाब रहा । काफी दिलचस्प पढ़ें मुझे कहना होगा, और कुल मिलाकर केवल 38 पृष्ठ! :-)
धारा 5, इंटरफेस के तहत, यह निम्नलिखित उदाहरण प्रदान करता है:
public interface Storing {
void freezeDry(Stream s) = 0;
void reconstitute(Stream s) = 0;
}
और मार्जिन में यह कहता है
भविष्य में, इंटरफेस में तरीकों की घोषणा का "= 0" हिस्सा दूर जा सकता है।
मान =0
लिया गया कि abstract
कीवर्ड द्वारा प्रतिस्थापित कर दिया गया है , मुझे संदेह है कि abstract
इंटरफ़ेस विधियों के लिए कुछ बिंदु अनिवार्य था!
संबंधित लेख: जावा: सार इंटरफेस और सार इंटरफ़ेस तरीके