जावा में, क्या इंटरफ़ेस को विस्तारित करने का कोई तरीका है।एक इंटरफ़ेस को विस्तारित होने से रोकने के लिए
final
interface
में जोड़ा नहीं जा सकता है, इसलिए मुझे पता था कि इंटरफ़ेस को विस्तारित करने से रोकने के लिए कोई तरीका है या नहीं।
जावा में, क्या इंटरफ़ेस को विस्तारित करने का कोई तरीका है।एक इंटरफ़ेस को विस्तारित होने से रोकने के लिए
final
interface
में जोड़ा नहीं जा सकता है, इसलिए मुझे पता था कि इंटरफ़ेस को विस्तारित करने से रोकने के लिए कोई तरीका है या नहीं।
इंटरफ़ेस को विस्तारित करने से रोकने का कोई तरीका नहीं है।
आप यह पता लगा सकते हैं कि किसी ने प्रतिबिंब का उपयोग करके रनटाइम पर अपना इंटरफ़ेस बढ़ाया है या नहीं।
क्या आप विस्तार से बता सकते हैं कि प्रतिबिंब के माध्यम से इंटरफ़ेस को विस्तारित किया गया है या नहीं? – JWhiz
@JWhiz: आपका दूसरा प्रश्न इस के समान ही है: http://stackoverflow.com/questions/435890/find-java-classes-implementing-an-interface केवल अंतर यह है कि आप इंटरफेस में दिलचस्पी रखते हैं, कक्षाओं में नहीं , लेकिन तकनीक एक ही है। –
यहां समस्या एक वैचारिक है। इंटरफेस का विस्तार किया जाना है क्योंकि इनका उपयोग नहीं किया जा सकता है।
आप क्या कर सकते हैं इंटरफ़ेस को पैकेज के अंदर रखकर इसे डिफ़ॉल्ट दृश्यता दें। उस पैकेज के अंदर केवल कक्षाएं ही उस इंटरफ़ेस को कार्यान्वित कर सकती हैं।
लेकिन उस समाधान के साथ आप उस पैकेज के बाहर इंटरफ़ेस का उपयोग करने की संभावना भी खो देते हैं, इसलिए यह कोई वास्तविक समाधान नहीं है।
मुझे लगता है कि उनका मतलब है कि एक और इंटरफ़ेस दिए गए इंटरफ़ेस से बढ़ाया गया है। –
सही, लेकिन अवधारणा अभी भी कुंजी है: एक इंटरफ़ेस यह कहने का एक तरीका है कि कुछ विधियां एक निश्चित तरीके से काम करती हैं। एक इंटरफ़ेस को विस्तारित करना सिर्फ यह कह रहा है कि सिस्टम में कुछ अन्य इंटरफ़ेस है। एक इंटरफ़ेस को परिभाषित करने पर प्रतिबंध लगाने के लिए यह समझ में नहीं आता है कि "अंतिम" कीवर्ड कक्षाओं के साथ काम करता है, जहां वास्तविक वर्ग मूल डिज़ाइन के विपरीत तरीकों से उपयोग किया जा सकता है यदि उस वर्ग को बढ़ाया गया हो। –
यह पहले पूछे जाने वाले प्रश्न - final interface in java के समान है।
मैंने दो जवाब दिए।
इसके अतिरिक्त, आप इंटरफ़ेस को कक्षा के अंदर रख सकते हैं, इसे निजी एक्सेस संशोधक दे सकते हैं, और सुनिश्चित कर सकते हैं कि उस वर्ग फ़ाइल में कोई इंटरफ़ेस इसे विस्तारित नहीं करता है।
ऐसा करने के लिए प्रेरणा क्या है? मेरी राय में, अर्थात्, यदि आप समझते हैं कि इंटरफेस क्या हैं और उनके लिए क्या उपयोग किया जाता है, तो प्राप्त करने के लिए कुछ भी नहीं है। – Santa
यदि आप इंटरफ़ेस नहीं बनाते हैं तो इसे तब तक बढ़ाया नहीं जा सकता जब तक कि कुछ और इसे नहीं बनाता है, इसलिए नंबर 1 बताएं। – IAdapter