यदि मैं byte
से int
बदलता हूं तो मुझे एक कंपाइलर त्रुटि मिलती है। क्या आप समस्या की व्याख्या कर सकते हैं?जब मैं एक ही नाम और पैरामीटर प्रकार के साथ दो विधियों का प्रयास करता हूं तो मुझे संकलन त्रुटि क्यों मिलती है?
public class A {
protected int xy(int x) { return 0; }
}
class B extends A {
protected long xy(int x) { return 0; } //this gives compilor error
//protected long xy(byte x) { return 0; } // this works fine
}
क्योंकि 'एक्सी' का विधि हस्ताक्षर 'बीसीई' जैसा ही है: समान नाम, पैरामीटर की एक ही मात्रा और समान प्रकार के पैरामीटर। –
पाठ में पोस्ट किए गए आपके तरीके बिल्कुल ठीक हैं क्योंकि उनके पास ** अलग ** पैरामीटर प्रकार हैं। 'int' ** ** नहीं है 'बाइट' –
@GermannAllington: यदि आप केवल शीर्षक और कोड पढ़ते हैं, तो यह थोड़ा उलझन में है, लेकिन * प्रश्न * की उद्घाटन रेखा यह स्पष्ट करती है: *" fi change बाइट से int मुझे एक कंपाइलर त्रुटि मिलती है। "* –