In this tutorial, we will write a polymorphism program in java. Before that, you should have knowledge on the following topic in Java.
1. Method Overloading:
Method Overloading allows the user to have more than one method that has the same name, they are differed by the number of the parameter lists, sequence, and data types of parameters.
Example: With a number of arguments
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | class ExampleTest { int add(int x, int y) { return x + y; } int add(int x, int y, int z) { return x + y + z; } } public class Main { public static void main(String args[]) { ExampleTest obj = new ExampleTest(); System.out.println(obj.add(50, 30)); System.out.println(obj.add(20, 10, 20)); } } |
Output:
80
50
2. Method Overriding:
Method Overriding is a feature that allows the user to declare a method with the same name in a sub-class that is already present in a parent class. And that base is said to be overridden.
Example for Method Overriding:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | class Dog { public void display() { System.out.println("I am A Dog"); } } class breed extends Dog { public void display() { System.out.println("Breed: German Shepard"); } } public class BreedTest { public static void main(String args[]) { Dog d = new Dog(); // Dog reference and object Dog b = new breed(); // breed reference but Dog object d.display(); // runs the method in Dog class b.display(); // runs the method in Dog class } } |
Output:
I am A Dog
Breed: German Shepard