जावा में विधि अधिभार और ओवरराइडिंग के बीच अंतर? सही जवाब नहीं देता। नीचे जावा कोड है।
माता-पिता वर्ग
public class Parent {
void display() {
// some code
}
}
बच्चा वर्ग
public class child extends Parent
void display(int a) {
// some code
}
}
सवाल: क्या यह तरीका ओवरलोडिंग, ओवरराइडिंग या कोई नहीं है?
उत्तर:
उत्तर № 1 के लिए 4यह ओवरलोडिंग (में) है child
), इसलिये JLS 8.4.9:
यदि कक्षा के दो तरीके (चाहे दोनों एक ही कक्षा में घोषित किए गए हों, या दोनों को एक वर्ग विरासत में मिला, या एक घोषित और एक विरासत में मिला) है समान नाम लेकिन हस्ताक्षर जो ओवरराइड-समतुल्य नहीं हैं, तब ए विधि का नाम अतिभारित है।
जवाब के लिए 3 № 2
ये है ओवरलोडिंग
मेथड ओवरलोडिंग - मेथड इन सेम क्लास या अलग क्लास
मेथड ओवरराइडिंग - पैरेंट चाइल्ड क्लास दोनों में विधि
यहाँ विधि में अभिभावक और बाल वर्ग दोनों में अलग-अलग हस्ताक्षर हैं