Imagem de fundo

Considerando o programa Java abaixo:public class Animal...

Considerando o programa Java abaixo:

public class Animal {

protected String nome;

public Animal(String nome) {

this.nome = nome;

}

public void fala() {

System.out.println("Eu sou um animal.");

}

}

public class Cachorro extends Animal {

public Cachorro(String nome) {

super(nome);

}

public void fala() {

System.out.println("Au! Au!");

}

}

public class Exemplo {

public static void main(String[] args) {

Animal[] animais = new Animal[2];

animais[0] = new Cachorro("Bidu");

animais[1] = new Animal("Floquinho");

for (Animal animal : animais) {

animal.fala();

}

}

}

Qual é o resultado de execução desse programa?


A

O programa não compila devido a um erro de sintaxe.


B

O programa compila e imprime "Au! Au!" duas vezes.


C

O programa compila e imprime na ordem "Au! Au!" e "Eu sou um animal.”.


D

O programa compila e imprime "Eu sou um animal." duas vezes.


E

O programa compila e imprime na ordem "Eu sou um animal." e "Au! Au!".