polymorphic function in pjava code example

Example: 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
    }
  }
}

Tags:

Java Example