Buscar
Social
Ofertas laborales ES

Foro sobre Java SE > Cast Exception

Hola amigos, no se que pueda estar pasando con esto:
class Animal{ }
class Perro extends animal{}

clas principal{
Animal animal=new Animal();
Perro perro=(Perro)animal;
}

En unas parte funciona, en otras no, que puede ser ?

junio 13, 2014 | Registered Commenterlewisdeavila

La segunda línea sólo va a funcionar si la referencia animal realmente está apuntando a un objeto de tipo Perro. Todos los perros son animales, por lo que no hay ningún problema por apuntar con una referencia tipo animal ha perro. Pero no todos los animales son perros. Si intentas transformar un animal a perro, y resulta que el animal era una vaca, las cosas no van a ir bien (Cast Exception).

junio 13, 2014 | Registered CommenterAbraham