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

VS CODE PRODUCT KEY

Visul Studio 2013 Ultimate Key BWG7X-J98B3-W34RT-33B3R-JVYW9 https://www.microsoft.com/en-us/download/details.aspx?id=55992 https://go.microsoft.com/fwlink/?linkid=841310 https://www.microsoft.com/en-us/download/details.aspx?id=35747 https://downloads.i-theses.com/?task=downloads&groupid=9&id=110 Product Year Version Product Keys Visual Studio 2022 2022 Enterprise: VHF9H-NXBBB-638P6-6JHCY-88JWH Professional: TD244-P4NB7-YQ6XK-Y8MMM-YWV2J Visual Studio 2020 2020 HG8FD-DR6F8-T7G9Y-H80UI-9NUB8 YV7T8-R6C8R-C6VT9-7GBHY-80NUJ T6RX5-EZXCR-6VT7B-Y80NU-HBGVF CDX5X-7E5CR-86VT7-9BY9V-7TC8R Visual Studio 2019 2019 16.x Professional: NYWVH-HT4XC-R2WYW-9Y3CM-X4V3Y Enterprise: BF8Y8-GN2QH-T84XB-QVY3B-RC4DF Visual Studio 2017 2017 15.x Test Professional: VG622-NKFP4-GTWPH-XB2JJ-JFHVF Professional: KBJFW-NXHK6-W4WJM-CRMQB-G3CDH 4F3PR-NFKDB-8HFP7-9WXGY-K77T7 Enterprise: NJVYC-BMHX2-G77MM-4XJMR-6Q8QF N2VYX-9VR2K-T733M-MWD9X-KQCDF Visual Studio 2015 2015 14.x Profession
   (MI) – PRACTICAL LIST 1 Write an 8085 assembly language program for exchanging two 8-bit numbers stored in memory locations 2050h and 2051h. 2 Write an 8085 assembly language program to add two 8-bit numbers stored in memory locations 2050h and 2051h. Store result in location 2052h 3 Write an 8085 assembly language program to subtract two 8-bit numbers stored in memory location 2050h from 2051h.Store result in location 2052h. 4 Write an 8085 assembly language program to add two 16-bit numbers stored in memory. 5 Write an 8085 assembly language program to add two decimal numbers using DAA instruction. 6 Write an 8085 assembly language program to find the minimum from two 8-bit numbers. 7 Write an 8085 assembly language program to get the minimum from block of N 8-bit numbers. 8 Write an 8085 assembly language program to add block of 8-bit numbers. 9 Write an 8085 assembly language program to copy block of five numbers starting from memory location 2001h to location starting from 3001