Primeiro post :lol:
class Vaca {
public void berrar() {
System.out.println("muuu");
}
}
class Ovelha extends Vaca{
public void berrar(){
System.out.println("meee");
}
void anda(){
System.out.println("Andando...");
}
}
public class Apple {
public static void main(String[] args) {
Vaca nova2 = new Ovelha();
}
}
O livro, SCJP 5, diz que na linha 18 tem uma referência Vaca, mas é um objeto Ovelha. Eu pensei: Como é que é???
Se eu fizer nova2.berrar(), ele irá imprimir “meee”. Não seria “muuu”?
Se eu fizer nova2.andar(), irá dar erro. Se é um objeto ovelha eu não poderia também usar o método andar?
Alguém me explica esse dois fenômenos?