2016-02-17 27 views
7

मैं "इंटरफेस" जावा में से संबंधित प्रश्न है और सवाल यह की तरह लगता है:जब मैं एक इंटरफ़ेस को खाली करता हूं तो मैं क्या जीतूं?

मेरी कक्षा में एक रिक्त (खाली) इंटरफेस को लागू करने के उपयोग क्या है?

क्रम सवाल का एक बेहतर समझ पाने के लिए, मैं तुम्हें एक ठोस उदाहरण दे देंगे: तुम जाओ और "ArrayList" वर्ग के कार्यान्वयन को देखते हैं

, आप पता लगा है कि यह लागू करता है दो इंटरफेस (RandomAccess और Cloneable), जो वास्तव में पूरी तरह से खाली हैं!

ऐसा क्यों हो रहा है? मेरी कक्षा के लिए पूरी तरह से खाली इंटरफ़ेस लागू करके मैं क्या जीतूं?

यदि आपके कोई विचार हैं, तो कृपया एक टिप्पणी छोड़ दें।

अग्रिम धन्यवाद।

उत्तर

7

उन इंटरफेस मार्कर इंटरफेस (उस प्रकार के वर्ग चिह्नित करने के लिए प्रयोग किया जाता है) और रन टाइम पर वे प्रकार की जांच करने के लिए उपयोग किया जाता है के रूप में कहा जाता है।

के लिए पूर्व

programm चल रहा है, आंतरिक तर्क हो सकता है की तरह

if (yourList instanceof Cloneable) { 
     // Hey this object is of type Clonable, please proceed 
    } else { 
     // Not that type. Reject 
    } 
+2

'ऑब्जेक्टऑटपुटस्ट्रीम' में 'Serializable' (मार्कर इंटरफ़ेस) +1 – TheLostMind

+0

@ सुरेशता के लिए इस तरह की जांच है: आपके उत्तर के लिए बहुत बहुत धन्यवाद। मैंने "मार्कर इंटरफेस" शब्द कभी नहीं सुना है और यह वास्तव में कुंजी था। मैं बहुत मददगार था। – Origamer7

1

उन इंटरफेस भिन्न और उदाहरणों की पहचान के लिए केवल की सेवा चला जाता है, इस पर विचार करें:

interface MyInterface1 {} 
interface MyInterface2 {} 

कोड उपभोक्ता:

if (foo is MyInterface1) ... 
संबंधित मुद्दे

 संबंधित मुद्दे