Java – Polymorphism2 min read

Polymorphism means having many forms. The word “poly” means many and “morphs” means forms. In java, it is a concept that allows the user to perform a single action in different ways.

Take a real-life example: Consider a man and at the same time he can be a father, a husband, an employee that is he is having a different character and posses different behavior in different situations.
Similarly, a class in a program has a method and the subclass have the same method but different but with a different task to perform related to the first method. This is called polymorphism.

In Java polymorphism is mainly divided into two types:

  • Compile-time Polymorphism or Static Polymorphism.
  • Runtime Polymorphism or Dynamic Polymorphism.

1. Compile-time Polymorphism:

It is also known as static polymorphism. In this type of program, the flow of control is decided at compile time itself and if any error found, they are resolved at compile time. This can be achieved by method overloading.

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


2. Runtime Polymorphism:

It is also known as Dynamic Method Dispatch. It is a process in which a call to an overridden method is resolved at runtime. This type of polymorphism is achieved by Method Overriding.

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:



Java Program to check Krishnamurthy Number

In this tutorial, we will learn about Krishnamurthy numbers and write a Krishnamurthy Number program in Java. We will write two programs for Krishnamurthy number …
Read More

Java Program for ISBN Number

In this tutorial, we will learn about the ISBN (International Standard Book Number) and write a program to check for the ISBN Number in Java …
Read More

C++ Memory Management

Memory management refers to the process of managing the computer memory while assigning the space to the program’s variable to improve the overall performance. Requirement …
Read More

C++ Pointer to Pointer

As we know by now that a pointer stores the address of the pointed variable. But it is not the only use, pointer also stores …
Read More

C++ Passing Pointers to Functions

A function is a user-defined block of codes that executes some specific task assigned to it invoked by its name. If there is an argument …
Read More

C++ Null Pointer

We use a null pointer when we do not have the exact address to assign to a pointer. It is considered a good practice and …
Read More