1.IN CASE OF DYNAMIC METHOD DISPATCH WHY WE USE REFERENCE
VARIABLE,WE CAN USE THE DIFFERENT DEFINED OBJECT DIRECTLY TO
ACCESS THE DATA MEMBER AND MEMBER FUNCTION OF THAT
RESPECTIVE CLASS?WHAT IS THE MAIN FUNCTION OF "REFERENCE
VARIABLE" HERE?
Answers were Sorted based on User's Feedback
Answer / vijay kumar
In case of dynamic method dispatch, It restricts from being used to call methods of other class. You cannot call overriden method which is not declared in reference variable class..
This is the main reason why we use reference variable here in dynamic polymorphism.
Hope i answer this question.
Is This Answer Correct ? | 3 Yes | 0 No |
Answer / shweta kunjadia
It shows Runtime Polymorphism
Eg.
class A {
void callme() {
System.out.println("Inside A's callme method");
}
}
class B extends A {
void callme() {
System.out.println("Inside B's callme method");
}
}
class C extends A {
void callme() {
System.out.println("Inside C's callme method");
}
}
class Dispatch {
public static void main(String args[]) {
A a = new A(); // object of type A
B b = new B(); // object of type B
C c = new C(); // object of type C
A r; // obtain a reference of type A
r = a; // r refers to an A object
r.callme(); // calls A's version of callme
r = b; // r refers to a B object
r.callme(); // calls B's version of callme
r = c; // r refers to a C object
r.callme(); // calls C's version of callme
}
}
Is This Answer Correct ? | 3 Yes | 1 No |
Implementations of set interface?
What is abstraction with strong example program? (not a general program)
Is char a data type in java?
What is Hash Code in Java?
What is the purpose of a statement block?
why HashTable not allow null key and value
what are literals in java?
which pattern is default in scanner package?
Is ++ operator is thread safe in java?
What are the two basic ways in which classes that can be run as threads may be defined?
What is ide with example?
Can we override singleton class?