Compile time and Run time polymorphism in deep
The output of below program should be “Inside child: int” because we are creating the calling the method on the Child class instance.
Its wrong assumption, method() is overloaded in child class not override and overloading support for the compile time polymorphism. At the compile time, the method parent class will bind as we are using the Parent class reference.
class Super {
void method(double num) {
System.out.println("Inside parent: double");
}
}
class Sub extends Super {
void method(int num) {
System.out.println("Inside child: int");
}
}
public class PolymorphismTest {
public static voidmain(String[] args) {
Super object = new Sub();
object.method(5);
}
}
Output:
Inside parent: double
No comments:
Post a Comment