# Polymorphism in Java

In 
Published 2022-12-23

In this tutorial I will present the concept of Java Polymorphism.

# Polymorphism in Java - theory

In Java OPP (Object-Oriented Programming) we speak about 4 main concepts:

Polymorphism is the ability of an object to take on many forms. In Java polymorphism is done using method overriding and method overloading. Polymorphism allows you to define one interface and have multiple implementations, or you can extend and override a class.

# Polymorphism in Java - example

Here is an example of Java polymorphism:

Shape.java
public class Shape {

    public void drawShape1(){
        System.out.println("Hello from drawShape1 !");
    };
    
    public void drawShape2(){
        System.out.println("Hello from drawShape2 !");
    };
}
Triangle.java
public class Triangle extends Shape {

    void eraseShape() {
        System.out.println("Hello from Triangle/eraseShape !");
    }
    
    // method OVERRIDING
    @Override
    public void drawShape2() {
        System.out.println("Hello from Triangle/eraseShape2 !");
    }
    
    // method OVERLOADING 
    public void drawShape2(String par1) {
        System.out.println("Hello "+par1+" from eraseShape2 !");
    }
}
MainApp.java
public class MainApp {

    public static void main(String [] args) {
        Triangle triangle = new Triangle();
        triangle.drawShape2();
        triangle.drawShape2("Paris");
    }
}