Skip to main content

Polymorphism in Java

Polymorphism in Java is a concept by which we can perform a single action in different ways. Polymorphism is derived from 2 Greek words: poly and morphs. The word "poly" means many and "morphs" means forms. So polymorphism means many forms.
There are two types of polymorphism in Java: compile-time polymorphism and runtime polymorphism. We can perform polymorphism in java by method overloading and method overriding.


If you overload a static method in Java, it is the example of compile time polymorphism. Here, we will focus on runtime polymorphism in java.

Polymorphism in Java

Polymorphism in Java is a concept by which we can perform a single action in different ways. Polymorphism is derived from 2 Greek words: poly and morphs. The word "poly" means many and "morphs" means forms. So polymorphism means many forms.
There are two types of polymorphism in Java: compile-time polymorphism and runtime polymorphism. We can perform polymorphism in java by method overloading and method overriding.
If you overload a static method in Java, it is the example of compile time polymorphism. Here, we will focus on runtime polymorphism in java.

Runtime Polymorphism in Java
Runtime polymorphism or Dynamic Method Dispatch is a process in which a call to an overridden method is resolved at runtime rather than compile-time.
In this process, an overridden method is called through the reference variable of a superclass. The determination of the method to be called is based on the object being referred to by the reference variable.
Let's first understand the upcasting before Runtime Polymorphism.

Upcasting

If the reference variable of Parent class refers to the object of Child class, it is known as upcasting. For example:
Upcasting in Java

Program

class Bank
{  
float getRateOfInterest()
{
return 0;
}  
}  
class SBI extends Bank
{  
float getRateOfInterest()
{
return 8.4f;
}  
}  
class ICICI extends Bank
{
float getRateOfInterest()
{
return 7.3f;
}  
}  
class AXIS extends Bank
{  
float getRateOfInterest()
{
return 9.7f;
}  
}  
class TestPolymorphism
{  
public static void main(String args[])
{  
Bank b;  
b=new SBI();  
System.out.println("SBI Rate of Interest: "+b.getRateOfInterest());  
b=new ICICI();  
System.out.println("ICICI Rate of Interest: "+b.getRateOfInterest());  
b=new AXIS();  
System.out.println("AXIS Rate of Interest: "+b.getRateOfInterest());  
}  
}  


Output:-

>javac TestPolymorphism.java
>Exit code: 0
>java -cp . TestPolymorphism
SBI Rate of Interest: 8.4
ICICI Rate of Interest: 7.3
AXIS Rate of Interest: 9.7
>Exit code: 0


Example No 2


class Animal
{
void eat()
{
System.out.println("Eating");
}
}
class Dog extends Animal
{
void eat()
{
System.out.println("Dog Are Eating");
}
}
class  babydog extends Dog
{
void eat()
{
System.out.println("Baby Dog is Eting");
}

public static void main(String args[])
{
Animal b1,b2,b3;
b1=new Animal();
b2=new Dog();
b3=new babydog();
b1.eat();
b2.eat();
b3.eat();
}

}

Output:-
>javac babydog.java
>Exit code: 0
>java -cp . babydog
Eating
Dog Are Eating
Baby Dog is Eting

>Exit code: 0

Comments

Contact Form

Name

Email *

Message *

Popular posts from this blog

Microsoft SQL Server 2019 Serial Key For All Edition

  Microsoft SQL Server 2019 Enterprise Edition HMWJ3-KY3J2-NMVD7-KG4JR-X2G8G Microsoft SQL Server 2019 Enterprise Core Edition 2C9JR-K3RNG-QD4M4-JQ2HR-8468J Microsoft SQL Server 2019 Standard Edition PMBDC-FXVM3-T777P-N4FY8-PKFF4 SQL Server2019 key   SQL Server 2019 Enterprise:HMWJ3-KY3J2-NMVD7-KG4JR-X2G8G Strandard:PMBDC-FXVM3-T777P-N4FY8-PKFF4 SQL Server 2017 Enterprise:TDKQD-PKV44-PJT4N-TCJG2-3YJ6B Enterprise Core:6GPYM-VHN83-PHDM2-Q9T2R-KBV83 Strandard:PHDV4-3VJWD-N7JVP-FGPKY-XBV89 Web:WV79P-7K6YG-T7QFN-M3WHF-37BXC SQL Server 2016 Enterprise:MDCJV-3YX8N-WG89M-KV443-G8249 Enterprise Core:TBR8B-BXC4Y-298NV-PYTBY-G3BCP Standard:B9GQY-GBG4J-282NY-QRG4X-KQBCR Web:BXJTY-X3GNH-WHTHG-8V3XK-T8243 SQL Server 2014 Business Intelligence:GJPF4-7PTW4-BB9JH-BVP6M-WFTMJ Developer:82YJF-9RP6B-YQV9M-VXQFR-YJBGX Enterprise:27HMJ-GH7P9-X2TTB-WPHQC-RG79R Enterprise Core:TJYBJ-8YGH6-QK2JJ-M9DFB-D7M9D Strandard:P7FRV-Y6X6Y-Y8C6Q-TB4QR-DMTTK Web:J9MBB-R8PMP-R8WTW-8JJRD-C6GGW

[MWC 2019]: Nokia to host launch event on February 24th; Nokia 9, Nokia 6.2 expected

“The upcoming Nokia smartphones are also expected to be Android One-branded” Nokia’s  Chief Product Officer Juho Sarvikas has  teased  February 24th as the launch date for its devices. The company has once again chosen Mobile World Congress (MWC) 2019 — world’s biggest tech trade show — to showcase what it has in store. Much like last year, Nokia’s license holder HMD Global may take the wraps off new smartphones, including the rumoured  Nokia 9 PureView ,  Nokia 8.1 Plus , and  Nokia 6.2 . The Nokia 9 PureView is expected to be a flagship offering and the world’s first smartphone with five camera setup. You heard it right! The handset is tipped to feature Penta cameras at the back panel. It’ll most likely flaunt a 5.99-inch display – probably with an 18:9 aspect ratio, 2K resolution, and Nokia’s PureView tech. Under the hood, it may employ Qualcomm’s Snapdragon 84...

Vi to increase prices? Vodafone Idea CEO Ravinder Takkar says tariff hike important

Vodafone Idea Ltd on Monday unveiled a new brand identity which will now be called Vi. As of June 2020, Vi had about 280 million subscribers. However, two years ago, at the time of the merger between Vodafone and Idea, it had 408 million users BusinessToday.In | Monday, September 7, 2020 | 16:06 IST After the announcement of the rebranding of Vodafone Idea Ltd, CEO Ravinder Takkar has said that tariff rise is inevitable. In a media briefing on Monday, Takkar said, "Raising tariffs is important and we are never shy of doing that. We have done it in the past when industry players followed us". The VIL's MD AND CEO added that the new tariff hike will improve the company's ARPU (average revenue per user) which is Rs 114 at present. On the other hand, VIL's rivals-Airtel and Reliance Jio's ARPUs stand at Rs 157 and Rs 140, respectively. Vodafone Idea Ltd on Monday unveiled a new brand identity which will now be called "Vi". As of June 2020, Vi had about 2...