In programming language theory and type theory, polymorphism is the provision of a single interface to entities of different types or the use of a single symbol to represent multiple different types.
class Animal { public void animalSound() { System.out.println("The animal makes a sound"); } } class Pig extends Animal { //extends Animal public void animalSound() { System.out.println("The pig says: wee wee"); } } class Dog extends Animal { //extends Animal public void animalSound() { System.out.println("The dog says: bow wow"); } } class Main { public static void main(String[] args) { Animal myAnimal = new Animal(); // Create a Animal object Animal myPig = new Pig(); // Create a Pig object Animal myDog = new Dog(); // Create a Dog object myAnimal.animalSound(); myPig.animalSound(); myDog.animalSound(); } }