java polymorphism

Java
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
    }
  }
}#student's implementation of "read" will be called at runtime

Person p = new Student();
p.read();

Inheritance refers to using the structure and behavior of a super class in a subclass.

Polymorphism refers to changing the behavior of a super class in the subclass.


Source

Also in Java: