1. Static polymorphism occurs in compile time like method overloading.
2. Dynamic polymorphism occurs in run time like method overriding.
/*
1. Runtime polymorphism(different Class)
*/
class X {
public String overRidedMethod(){
return "From Super Class";
}
}
class Y extends X {
public String overRidedMethod() {
return "From Sub Class";
}
}
public class Main{
//Satic polymorphism(same class)
public String testMethodSum(){
return "Method overloading/Static Binding";
}
public String testMethodSum(String s){
return s;
}
public static void main(String args[]) {
Main main = new Main();
System.out.println(main.testMethodSum());
X a = new X();
X b = new Y();
System.out.println(a.overRidedMethod());
System.out.println(b.overRidedMethod());
}
}

0 Comments