2017-08-01 1 views
-2

Quelqu'un peut-il m'expliquer pourquoi e va lancer une ClassCastException à l'exécution? Image of answer I found onlineLa confusion ClassCastException ne peut pas trouver l'erreur

+5

Veuillez ajouter votre code, pas une image de celui-ci. aussi, si vous allez ajouter une image, veuillez le faire sur le site, et non un lien vers cette image. –

+0

Parce que tous les 'Mammal's ne sont pas' Dog's? – UnholySheep

+0

votre casting inverse se bloque car tous les mammifères ne sont pas des chiens ... –

Répondre

0

Ici Dog est une sous-classe de Mammal. Si vous créez un objet de Dog. Vous pouvez le jeter dans un Mammal, parce que le chien est également un Mammal.

Mais si vous créez un objet de Mammal, vous ne pouvez pas le convertir en Dog car tous les chiens ne sont pas nécessairement Mammal.

+0

Merci mon frère, pourriez-vous me dire pourquoi la réponse à B est b. Je ne comprends pas si c'est juste parce que fido n'a pas été instancié ou pas? – Trea704

+0

C'est le cas similaire. Un 'Mammal' ne peut pas être converti en un' Dog'. Et si ma réponse résout votre problème, n'oubliez pas de marquer la réponse comme acceptée et d'augmenter la réponse. –