Maison  >  Article  >  Java  >  Réécriture : Quelles fonctionnalités sont disponibles dans le langage Java ?

Réécriture : Quelles fonctionnalités sont disponibles dans le langage Java ?

WBOY
WBOYavant
2023-05-09 16:58:18630parcourir

1. Package

Java définit un espace de noms appelé package: package. Une classe appartient toujours à un certain package. Le nom de la classe (tel que Person) n'est qu'une abréviation. Le véritable nom complet de la classe est nom du package.nom de la classe. Par exemple : la classe apple est placée dans le package banane. Le nom complet de la classe est : banane.apple.

Syntaxe du package personnalisé :

package<   包名   >

Remarque : La déclaration d'un package doit être écrite sur la première ligne de la classe.

1.2 Importation de package

Si vous souhaitez utiliser un package qui existe en Java, vous pouvez utiliser l'instruction import pour importer le package dans le programme.

Le format est le suivant : (notez qu'il y a un petit point au milieu)

import<  包名  >.<  类名  >

Si vous souhaitez importer plusieurs classes dans un package, vous pouvez utiliser "*" pour représenter toutes les classes du package. Comme dans l’exemple précédent, le code complet est : import banane.*.

2. Héritage

L'héritage signifie qu'une sous-classe hérite des caractéristiques et des comportements de la classe parent, de sorte que l'objet de la sous-classe (instance) possède les champs et méthodes d'instance de la classe parent, ou que la sous-classe hérite des méthodes de la classe parent. , de sorte que la sous-classe ait la classe parente Même comportement.

Le rôle de l'héritage : grâce à l'héritage, vous pouvez créer rapidement de nouvelles classes, réaliser la réutilisation du code, améliorer la maintenabilité du programme, gagner beaucoup de temps dans la création de nouvelles classes et améliorer l'efficacité et la qualité du développement.

Le format de syntaxe d'héritage de Java est le suivant :

[修饰符]  class 子类名 [extends 父类名]{
        //类定义部分
}

Par exemple : banane est une classe, pomme est une classe, définissez banane comme classe parent de pomme

public class apple extends banana{
        //内容
}

Attention ! 1.L'héritage en Java est un héritage unique, c'est-à-dire qu'une sous-classe ne peut avoir qu'une seule classe parent directe.

2. Les sous-classes ne peuvent pas hériter sélectivement des classes parentes ; 3. Java ne prend pas en charge l'héritage multiple, mais une classe peut implémenter plusieurs interfaces, palliant ainsi les inconvénients de l'héritage unique ; 4. Construction La méthode ne sera pas héritée par la méthode ; sous-classe, mais le constructeur de la classe parent peut être appelé depuis la sous-classe.

Trois : surcharge et réécriture3.1 Surcharge (surcharge)

Dans la même classe, les méthodes portant le même nom ont des listes de paramètres différentes (différents types de paramètres, un nombre différent de paramètres et même des ordres de paramètres différents) ) est une surcharge .La surcharge n'a aucune exigence sur le type de retour. Elle peut être identique ou différente, mais la surcharge ne peut pas être jugée selon que le type de retour est le même.

Notez les points suivants :

(1) Même classe La méthode chinoise. les noms sont les mêmes, mais les listes de paramètres sont différentes.

(2) Le type de valeur de retour ne peut pas être utilisé pour distinguer les surcharges de méthodes.

Rappel : les constructeurs peuvent également implémenter la surcharge de méthodes

3.2 Réécrire

Réécrire, c'est-à-dire l'écrire à nouveau. Autrement dit, réécrivez les méthodes de la classe parent elle-même dans la sous-classe. Une sous-classe étend une classe parent et une sous-classe est une classe parent spéciale. La sous-classe est basée sur la classe parent et ajoute de nouveaux attributs et méthodes.

Règles de réécriture :

1. Se produit entre la classe et la classe parent

2. Les méthodes privées de la classe parent ne peuvent pas être remplacées

3. Lors de la substitution de la méthode de la classe parent, les droits d'accès ne peuvent pas être supérieurs à. Si la classe parent est inférieure, les exceptions levées ne peuvent pas être plus larges que la plage d'exceptions de la classe parent ou lancer de nouvelles exceptions

4 Lorsque la classe parent a des méthodes statiques, la sous-classe doit les réécrire via des méthodes statiques

Surcharge et. réécriture Différence :

1

La surcharge se produit au sein d'une classe

2

.

Quatre : Polymorphisme

Le polymorphisme signifie que la même opération agit sur différents objets et peut avoir différentes interprétations, entraînant des résultats d'exécution différents.

Le polymorphisme se reflète dans le fait que les variables de référence de classe parent peuvent pointer vers des objets de sous-classe

Prérequis : il doit y avoir une relation de classe enfant-parent.

Remarque : lors de l'appel d'une méthode utilisant une variable de référence de classe parent polymorphe, la méthode remplacée de la sous-classe sera appelée.

4.1 Transformation polymorphe

La transformation polymorphe est divisée en deux types :

Transformation vers le haut

et Transformation vers le bas :

Transformation vers le haut
 : Le polymorphisme lui-même est un processus de transformation vers le haut

Format d'utilisation :

父类类型 变量名=new 子类类型();

Scénarios applicables : Lorsqu'il n'est pas nécessaire de faire face aux types de sous-classes, les opérations correspondantes peuvent être effectuées en améliorant l'évolutivité ou en utilisant les fonctions de la classe parent.

Downcasting : un objet de sous-classe qui a été transformé peut utiliser le format de conversion de type forcée pour convertir le type de référence de la classe parent en type de référence de sous-classe
4.2 instanceof

L'opérande précédent de l'opérateur instanceof Généralement une référence variable de type, ce dernier opérande est généralement une classe, qui est utilisée pour déterminer si la variable de référence devant l'opérateur est une instance du type qui suit l'opérateur ou son sous-type.

Attention ! Lorsque vous utilisez l'opérateur instanceof, vous devez faire attention au temps de compilation de l'opérande devant l'opérateur instancecof. Le type est soit le même que la classe suivante, soit a une relation d'héritage parent-enfant avec la classe suivante, sinon. cela provoquera des erreurs de compilation.

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