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 |
What is difference between array and arraylist in java?
Can we extend the String class?
How do you compare two objects?
What happens if we override private method?
Is an object null?
What is a finally block? Is there a case when finally will not execute?
What are conditionals and its types?
explain the life cycle of thread?
10 Answers CTS, NIIT, TCS,
What do you meant by active and passive objects?
What is string subsequence method?
How do you define a parameter?
What is difference between final and immutable?