polymorphism in java means code example

Example 1: java polymorphism

class Animal {
  public void animalSound() {
    System.out.println("The animal makes a sound");
  }
}

class Pig extends Animal {
  public void animalSound() {//override superclass method
    System.out.println("The pig says: wee wee");
  }
}

class Dog extends Animal {
  public void animalSound() {//override superclass method
    System.out.println("The dog says: bow wow");
  }
}

class Main {
  public static void main(String[] args) {
    //You can add all objects inherited from Animal to an Animal type list
    Animal[] animals = new Animal[3]; //Creating the Animal List
    animals[0] = new Animal(); //Add a new animal object to the list
    animals[1] = new Dog(); //Add a new dog object to the list
    animals[2] = new Pig(); //Add a pig object to the list
    for (Animal a: animals){
      a.animalSound(); //This statement prints the correct string no matter the class
    }
  }
}

Example 2: polymorphism in java

// Polymorphism in java example
class Shapes
{
   public void sides()
   {
      System.out.println("sides() method.");
   }
}
class Square extends Shapes
{
   public void sides()
   {
      System.out.println("square has four sides.");
   }
}
class Triangle extends Shapes
{
   public void sides()
   {
      System.out.println("triangle has three sides.");
   }
}
class PolymorphismExample
{
   public static void main(String[] args)
   {
      Shapes shape = new Shapes();
      Shapes square = new Square();
      Shapes triangle = new Triangle();
      shape.sides();
      square.sides();
      triangle.sides();
   }
}