Polymorphism is an object-oriented programming concept that literally is being in many shapes. polymorphism allows you to define one interface and have multiple implementations. Polymorphism in Java has two types: Compile time and Runtime. When you are overloading the methods it's static polymorphism and when you are overriding methods it's dynamic polymorphism.
1- static polymorphism
public class Calculator
{
public int DoIt(int a, int b )
{
return a+b;
}
public int DoIt(int a, int b, int c)
{
return a+b+c;
}
public int DoIt(int a, double b)
{
return a+(int)b;
}
}
2 - dynamic polymorphism
public class Machine{
public void Action(){
System.out.println("it moves!");
}
}
public class Car extends Machine{
@Override
public void Action(){
System.out.println("it moves and can carry 4 person");
}
}
public class Bus extends Machine{
@Override
public void Action(){
System.out.println("it moves and can carry 40 person");
}
}