Maison  >  Article  >  Java  >  Un article vous donnera une compréhension détaillée de l'héritage de classe et du polymorphisme en Java

Un article vous donnera une compréhension détaillée de l'héritage de classe et du polymorphisme en Java

王林
王林avant
2019-11-26 10:56:502137parcourir

Un article vous donnera une compréhension détaillée de l'héritage de classe et du polymorphisme en Java

Héritage des classes

Sous-classes et leurs définitions

La définition d'une sous-classe utilise le mot-clé extends

Format :

class SubClass extends SuperClass{
........
}

Une sous-classe peut hériter des propriétés et des méthodes de la classe parent. Une sous-classe ne peut pas hériter des propriétés avec des modificateurs privés ; , méthode ; les sous-classes ne peuvent pas hériter des méthodes de constructeur

Autres recommandations de didacticiels vidéo connexes : apprentissage en ligne Java

Héritage unique :

Java ne prend en charge que l'héritage unique, c'est-à-dire qu'il ne peut hériter que d'une seule classe et qu'il ne peut y avoir qu'un seul nom de classe après le mot-clé extends.

Avantages : les conflits possibles entre plusieurs classes parentes peuvent être évités.

mécanisme d'interface d'interface, permettant à une classe d'implémenter plusieurs interfaces

super mot-clé

super mot-clé pointe vers cette clé Le classe parent de la classe où se trouve le mot. La variable de référence de la classe parent peut pointer vers l'objet sous-classe

Format :

super.someNethod([paramlist])//调用父类中的someMethod()方法

Création d'objet sous-classe

Étapes :

Allouer tout l'espace mémoire requis par l'objet et l'initialiser à une valeur de 0

Initialiser explicitement selon la relation d'héritage, de haut en bas

Selon la relation d'héritage, de haut en bas Appel de la méthode constructeur

Une autre expression de l'initialisation de l'objet de sous-classe :

Initialisation de base, exécution de la méthode constructeur, exécution d'abord de la classe parent méthode constructeur, exécution du constructeur de la classe parent Avant la méthode, une instruction d'initialisation explicite de la classe parent doit être exécutée.

Remplacement des méthodes

(1) Le type de valeur de retour de la méthode remplacée dans la sous-classe doit être le même que le type de valeur de retour de la méthode remplacée dans la sous-classe. classe parent

(2) Les autorisations d'accès des méthodes remplacées dans les sous-classes ne peuvent pas être réduites

(3) Les remplacements de sous-classes ne peuvent pas lever de nouvelles exceptions : le remplacement de méthode consiste à implémenter le polymorphisme d'exécution d'objet La base de

polymorphisme : polymorphisme au moment de la compilation et polymorphisme au moment de l'exécution

polymorphisme au moment de la compilation : comme la surcharge

polymorphisme au moment de l'exécution : Par exemple, réécrire

upcast

pour convertir une référence d'un type d'objet en un autre type de référence d'objet

down Casting (casting)

instanceof l'opérateur

aOblectVariable instanceof SomeClass

aOblectVariable est la valeur de l'expression lorsqu'elle est de type SomeClass est vraie, sinon elle l'est false

format

(SomeClass)aObjectVariable

(1) Le type cible de la conversion de variable objet doit être une sous-classe du type d'objet actuel

(2) Au moment de l'exécution, faites également le type d'objet vérification

Classe d'objet

Chaque classe en Java est une sous-classe directe ou indirecte de la classe Object.

Classe égales : Comparer les valeurs​​de deux objets

Remplacer la méthode égales() Objectif : Définir la valeur de l'objet

Règlements Java : deux Les valeurs de retour hashCode() des objets avec des valeurs égales doivent être égales, donc remplacez la méthode equals() ainsi que la méthode hashCode(), en utilisant "==" pour comparer les adresses des deux objets.​ ​ ​  

La méthode toString()

renvoie la représentation sous forme de chaîne de l'objet.

méthode getClass()

renvoie les informations de classe de l'objet. Cette méthode renvoie un objet de type Class.

Articles et tutoriels connexes recommandés : Programme d'entrée 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