मैं एक कक्षा बनाने की कोशिश कर रहा हूं जो Queue
और Map
लागू करता है। दोनों इंटरफेस है, लेकिन विभिन्न प्रकार के साथ वापसी remove(Object)
विधि को परिभाषित: कश्मीर कीअसंगत इंटरफेस लागू करना
public interface Collection<E> { //Queue extends Collection, which has the problem method
public boolean remove(Object e);
//...
}
public interface Map<K,V> {
public V remove(K key);
//...
}
public class QueuedMap<K,V> extends AbstractMap implements Queue {
public V remove(K key) {/* ... */}
//ERROR: V is not compatible with boolean
//...
}
प्रकार विलोपन इन दो विधि हस्ताक्षर टकराने खड़ी कर रहा है। मेरे पास उनमें से एक नहीं हो सकता क्योंकि यह एक अमान्य ओवरराइड है, और मेरे पास दोनों नहीं हो सकते क्योंकि उनके पास एक ही हस्ताक्षर है। क्या कोई तरीका है कि मैं इन दो इंटरफेस को सह-अस्तित्व में बना सकता हूं?
कफ से बाहर, यह मेरे लिए संभव नहीं लगता है। –
अगर आप निकालें (कुंजी) कहलाते हैं तो आपकी कक्षा का निर्धारण किस प्रकार किया जाएगा? –
[अच्छा दिखता नहीं है] (http://stackoverflow.com/questions/573621/is-the-c-sharp-explicit-implementation-of-the-interface-present-in-java) –