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

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

王林
王林avant
2019-12-17 11:55:543839parcourir

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

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;//可以

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;//可以

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer