की एक वस्तु को जोड़ने के लिए सक्षम होना चाहिए।कक्षा इंटरफेस को लागू करने के लिए एक ही मान लीजिए कि मैं जावा में एक अंतरफलक करते हैं एक ही कक्षा
वहाँ किसी भी तरह से मैं संशोधित कर सकते हैं इंटरफ़ेस ऐसा है कि मुझे क्या करना ही कर सकता है:
C c = new C();
c.add(new C());
, लेकिन नहीं
c.add(new D());
?
मैं एक परीक्षा पर इस सवाल का था, लेकिन अपने ही विचार विधि की परिभाषा में instanceof ऑपरेटर का उपयोग करने के लिए किया गया था:
class C implements I {
public void add(I foo) {
if (foo instanceof C) {
System.out.println("instance of C");
} else {
System.out.println("another instance");
}
}
}
हालांकि, मैं इंटरफ़ेस संशोधित करने के लिए पता नहीं कैसे जैसे कि मैं एक ही प्रभाव उत्पन्न करता हूं। -
धन्यवाद
यह विधि मूर्ख-प्रमाण नहीं है। उदाहरण के लिए, आप अभी भी 'कक्षा डी उपकरण I' जैसी कुछ कर सकते हैं। हालांकि, यह इरादे का एक बहुत ही मजबूत संकेतक है, और उपरोक्त उल्लंघन करने वाला देव जो कुछ भी प्राप्त करता है वह पात्र है। –
Dunes
अपरिवर्तित प्रकार के बारे में चेतावनी से बचने के लिए, घोषणा 'इंटरफेस I <टी'> 'विस्तारित होनी चाहिए। –
@ बोहेमियन धन्यवाद! – Claudiu