क्या कोई मुझे समझा सकता है
@Override सार्वजनिक शून्य fooMethod (कक्षा & lt;? & Gt ; C)
ओवरराइड नहीं
सार्वजनिक शून्य fooMethod (कक्षा सी)
और मुझे देता है इसके बजाय निम्नलिखित त्रुटियां:
- नाम टकराव: प्रकार की विधि fooMethod (कक्षा & lt;? & Gt;) उप-क्लास में एक प्रकार का विरूपण होता है जिसे फूमथ (कक्षा) प्रकार सुपरक्लास के रूप में होता है, लेकिन इसे ओवरराइड नहीं करता है - विधि fooMethod क्लास और लेफ्टिनेंट;? & Gt;) प्रकार की उप-कक्षा को एक सुपर-क्लास विधि को ओवरराइड करना होगा
?
संपादित करें: " के साथ ओवरराइड करने के लिए उदाहरण विधियों को ओवरराइड विधि () की उपगमन करने के लिए अधिलेखित विधि की आवश्यकता होती है। यह स्पष्ट रूप से मामला नहीं है। अब हमने इस तथ्य को स्थापित किया है कि आपकी उपवर्ग विधि JLS के अनुसार सुपरपेलेस विधि को ओवरराइड नहीं करती है, चलो इस प्रकार के इरज़र होने पर रनटाइम के प्रभाव को देखते हैं। अब हमारे पास दो तरीके हैं जो बिल्कुल 'समान' (समान नाम, समान पैरामीटर प्रकार) को देखते हैं, लेकिन एक-दूसरे को ओवरराइड न करें यदि वे ओवरराइड नहीं करते हैं, तो उन्हें उपप्रकार पर अलग तरीके के रूप में उपलब्ध होना चाहिए, लेकिन उनके समान रनटाइम हस्ताक्षर हैं: संघर्ष इसलिए जावा को इसे अस्वीकार करना पड़ता है। कच्चे पैरामीटर प्रकारों का उपयोग करते हुए सामान्य पैरामीटर प्रकारों को ओवरराइड करना है अनुमत है क्योंकि कच्चे प्रकार इस कारण के लिए मौजूद हैं: वे विशिष्ट असफल प्रकार के नियमों के साथ एक सुविधाजनक तंत्र हैं विरासत कोड के साथ बातचीत को समायोजित करने के लिए तो यहां प्रकार प्रणाली तय करेगी कि उप-वर्ग पद्धति करता है superclass को ओवरराइड करता है, वे हैं प्रकार मिटाए जाने के बाद समान हैं और हम कभी भी संघर्ष नहीं कर सकते। इस पुस्तकालयों के परिणामस्वरूप मौजूदा गैर-सामान्य कोड के स्वतंत्र रूप से उत्पन्न किया जा सकता है। java -version
" जावा (टीएम) 2 रनटाइम पर्यावरण, मानक संस्करण (1.5.0_16-बी06-284 का निर्माण) कहते हैं। कोड स्निपेट के लिए, यह पहले से ही ऊपर है, बहुत ज्यादा; fooMethod (कक्षा & lt;? & Gt;) का हस्ताक्षर नीचे
क्लास & lt;? & Gt;
के विस्मरण के बाद से वर्ग
के बाद से fooMethod (class)
के हस्ताक्षर के समान है > () इसलिए, fooMethod (क्लास)
fooMethod (कक्षा & lt;? & Gt;)
के एक subsignature है, लेकिन इसके विपरीत नहीं ()।
Comments
Post a Comment