¿Cuál es el resultado de ejecutar el siguiente código?
public class Animal {
public void speak() {
System.out.println("The animal speaks");
}
}
public class Dog extends Animal {
public void speak() {
System.out.println("The dog barks");
}
}
public class Cat extends Animal {
public void speak() {
System.out.println("The cat meows");
}
}
public class PolymorphismExample {
public static void main(String[] args) {
Animal[] animals = new Animal[2];
animals[0] = new Dog();
animals[1] = new Cat();
for (Animal a : animals) {
a.speak();
}
}
}