Não estou entendendo a lógica do casting de classes, no exemplo da atividade:
Crie uma classe Animal e uma classe Cachorro que herda de Animal. Em seguida, crie um objeto da classe Cachorro e faça o casting para a classe Animal.
Criei a classe cachorro sendo subclasse da classe animal, animal tem nome e cachorro tem raça, quando eu faço o casting:
var dog = new Cachorro("dragao","poodle");
System.out.println(dog);
Animal dog1 = dog;
System.out.println(dog1);
O objeto do casting dog1(da classe animal no caso né?) tem o atributo de raça ainda, mas a classe animal não tem esse atributo.
minha cabeça deu uma bugada, não consigo entender para que serve e como funciona.
Alguém poderia me ajudar?