class Animal { public void animalSound() { System.out.println("Your animal"); } } class Cat extends Animal { @Override public void animalSound() { System.out.println("Mew"); } } class Dog extends Animal { @Override public void animalSound() { System.out.println("Bark"); } } class Main { public static void main(String[] args) { var myAnimal = new Animal(); // Create a Animal object var myCat = new Cat(); var myDog = new Dog(); myAnimal.animalSound(); // Default behavior of base class myCat.animalSound(); // Polymorphed behavior in derived class 1 myDog.animalSound(); // Polymorphed behavior in derived class 2 } }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(); } }