Analise o seguinte código desenvolvido em Java SE 11:
class Animal {
public void fale() { }
}
class Cao extends Animal {
public void fale() {
System.out.print("au au ");
}
}
class Gato extends Animal {
public void fale() {
System.out.print("miau ");
}
}
class GatoPersa extends Gato {
public void fale() {
super.fale();
System.out.print("persa ");
}
}
class Tigre extends Gato {
public void fale() {
System.out.print("tigre ");
super.fale();
}
}
public class Principal {
public static void main(String[] args) {
Animal[] animais = {
new GatoPersa(),
new Cao(),
new Gato(),
new Tigre()
};
for (Animal a : animais) {
a.fale();
}
}
}
Assinale a alternativa que apresenta a saída impressa no console.