what is dynamic method dispatch ?
Answer Posted / j mathew
class A{
void hallo(){
System.out.println(" hallo of A");
}
}
class B extends A {
void hallo(){ // method overridden.
System.out.println("hallo of B");
}
}
class C extends B {
void hallo(){ // method overridden
System.out.println("hallo of C");
}
}
class Demo {
public static void main(String[] args) {
A a = new A(); // create object of A
B b = new B(); // create object of B
C c = new C(); // create object of C
A r; // create a reference of super class
r=a; // assign object of A to the reference var. r
r.hallo(); // it calls hallo() of class A
r=b; // super class variable can reference a
sub class object.
r.hallo(); // it calls hallo() of class B
r =c; // super class variable can ref. sub
class object.
r.hallo(); // it calls hallo() of class C
}
}
this is how dynamic dispath method works.
overridden methods are resolved at run time rather than
compile time. At compile time it doesn't know which over-
ridden method will be called.
it comes to know at run time, thats why it is called as run
time polymorphism.
| Is This Answer Correct ? | 6 Yes | 3 No |
Post New Answer View All Answers
What is a variable declaration?
What is empty string literal in java?
What is method with example?
How do you initialize an arraylist in java?
What is use of inner class in java?
Why do we use regex?
What is nested class?
State the difference between strings and arrays.
Why is java so important?
Can we override constructor in java?
Assume a thread has lock on it, calling sleep() method on that thread will release the lock?
What is static data type in java?
What is the difference between normal report & matrix report?
Can a class be declared as protected?
What is ++ a in java?