Maison > Java > JavaBase > le corps du texte

Problème de conversion entre classe parent et sous-classe en Java

王林
Libérer: 2019-12-17 11:55:54
avant
3808 Les gens l'ont consulté

Problème de conversion entre classe parent et sous-classe en Java

Exemple 1

La classe parent force la sous-classe

Father f = new Father();
Son s = (Father)f;//出错 ClassCastException
Copier après la connexion

Analyse :

Créez une instance de la classe parent et souhaitez forcer la conversion Les objets de la classe parent dans les sous-classes n'est pas possible ! En termes simples, un vrai père ne peut jamais prétendre être un fils.

Partager des didacticiels vidéo d'apprentissage en ligne : Tutoriel Java en ligne

Exemple 2

"Fausse" classe parent obligée de faire tourner la classe enfant

Father f = new Son();
Son s = (Son)f;//可以
Copier après la connexion

Analyse :

L'objet de classe parent fait référence à une instance de sous-classe.

Les propriétés uniques de la classe Son ne peuvent pas être exploitées par f pour le moment, car la classe Father n'a pas les propriétés uniques de la classe (sous-classe) Son.

Créez ensuite un objet de sous-classe s, qui fait référence à l'objet qui est converti de force à partir de l'objet de classe parent f (en fait, c'est un fils prétendant être un père, et il est reconverti de force en fils). À ce stade, vous pouvez passer s Pour exploiter les attributs uniques de la sous-classe.

En termes simples, un fils prétend être son père. Il est toujours un fils après tout, et son essence n'a pas changé.

Exemple 3

La sous-classe est forcée de se convertir en classe parent

Son s = new Son();
Father f = (Father)s;//可以
Copier après la connexion

Analyse :

La sous-classe est convertie en classe parent, mais la les attributs uniques de l'objet de sous-classe ne peuvent pas être En utilisant l'opération f, f peut exploiter ses propriétés non spécifiques (propriétés héritées de la classe parent).

En termes simples, ce qu'un fils et son père ont en commun, c'est qu'ils sont tous deux des êtres humains. Un fils est un être humain car il en a hérité de son père. Ils ont tous deux des comportements humains fondamentaux, mais un. le fils ne peut jamais être de la même génération que son père (le type de sous-classe est converti en type de classe parent).

Articles et tutoriels connexes recommandés : Démarrage rapide avec Java

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:csdn.net
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal