xxxxxxxxxx
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();
}
}
xxxxxxxxxx
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
}
}