java - Can I manually override inherited methods? -
यह एक बहुत ही असीम शीर्षक है ...
सार्वजनिक वर्ग ए में सारणी सार {सार्वजनिक बूलियन AddAll (इंट इंडेक्स, संग्रह & lt; E & gt; क्या) {}} लेकिन एक्लिप्स मुझे संकलन त्रुटि देता है
नाम संघर्ष: विधि addAll (int , संग्रह & lt; E & gt;) प्रकार डायनामिकअरेरे & lt; E & gt; ऐड ऐल (इंट, संग्रह और लेफ्टिनेंट; विस्तारित ई & gt;) प्रकार सार ऐब्स्ट्रेललिस्ट & lt; E & gt; लेकिन यह ओवरराइड नहीं है मैं समझता हूँ कि क्या विलोपन के साथ समस्या है, लेकिन मुझे समझ में नहीं आता क्यों addAll (int, संग्रह & lt; E & gt;) doesn यह विरासत में मिली विधि को ओवरराइड कर रहा है जिसके साथ संघर्ष हो रहा है (यदि दोनों को एक ही कक्षा में परिभाषित किया गया था, तो मैं इसे देख सकता था, लेकिन समस्या यह है: "जब किसी पद्धति में विरासत में मिली पद्धति के समान विलोपन होता है, तो हम विरासत में मिली विधि को ओवरराइड करते हैं। क्या कोई संकलक को AbstractList.addAll (अधिलेखित, संग्रह & lt ;? ई और gt; फैली) को ओवरराइट करने के लिए मजबूर करने का कोई तरीका है साथ डायनेमिक लिस्ट.एडएल (इंट, कलेक्शन & lt; E & gt;) ?
<पी > विशेष रूप से, मूल addAll (int, संग्रह & lt ;? ई और gt; फैलता है) बताता है कि दूसरा पार्म आइटम का कोई संग्रह हो सकता है जो ई का विस्तार कर सकता है, जबकि आपका संस्करण addAll (int, collection & lt ; ई & gt;) की आवश्यकता है कि आइटम ई बिल्कुल ठीक है, और वे ई नहीं बढ़ा सकते हैं।
Comments
Post a Comment