कोई भी विस्तार से समझा सकता है क्योंकि ओवरलोडेड विधि print(Parent parent)
कोड के परीक्षण परीक्षण में Child
उदाहरण के साथ काम करते समय लागू किया गया है?जावा विधि ओवरलोडिंग + डबल प्रेषण
आभासी तरीकों या तरीकों जावा में/संकल्प यहां शामिल अधिक भार का कोई भी pecularities? जावा लैंग स्पेक के लिए कोई सीधा संदर्भ? कौन सा शब्द इस व्यवहार का वर्णन करता है? बहुत बहुत धन्यवाद।
public class InheritancePlay {
public static class Parent {
public void doJob(Worker worker) {
System.out.println("this is " + this.getClass().getName());
worker.print(this);
}
}
public static class Child extends Parent {
}
public static class Worker {
public void print(Parent parent) {
System.out.println("Why this method resolution happens?");
}
public void print(Child child) {
System.out.println("This is not called");
}
}
public static void main(String[] args) {
Child child = new Child();
Worker worker = new Worker();
child.doJob(worker);
}
}
ईसाई, संपूर्ण उत्तर के लिए धन्यवाद! तो हम यहां रनटाइम वीएस संकलन प्रकार की चीज़ के साथ सौदा करते हैं। मैं उस विषय में बहुत कुछ खोदूँगा। (डबल प्रेषण का उल्लेख यहां किया गया है क्योंकि मैं इस प्रश्न में बहुत विज़िटर पैटर्न को साझा कर रहा हूं :))। अधिकतम – Max