Maison > Java > javaDidacticiel > Les méthodes remplacées en Java peuvent-elles avoir différents types de retour ?

Les méthodes remplacées en Java peuvent-elles avoir différents types de retour ?

Mary-Kate Olsen
Libérer: 2024-11-30 13:12:11
original
484 Les gens l'ont consulté

Can Overridden Methods in Java Have Different Return Types?

Méthodes remplacées et écart du type de retour

Les méthodes remplacées peuvent-elles différer dans le type de retour ?

La prise en charge par Java des types de retour covariants permet aux méthodes remplacées de posséder des types de retour plus spécifiques que les méthodes qu'elles utilisent. override.

Le type de retour de la méthode remplacée doit être attribuable au type de retour de la méthode remplacée. Par exemple :

class ShapeBuilder {
    ...
    public Shape build() {
    ....
}

class CircleBuilder extends ShapeBuilder{
    ...
    @Override
    public Circle build() {
    ....
}
Copier après la connexion

Conformément à la spécification du langage Java (section 8.4.5), la substituabilité des types de retour est autorisée si :

  • Les types de retour sont des types de référence, avec R1 (type de retour de la méthode remplacée) étant soit un sous-type de R2 (type de retour de la méthode remplacée) ou convertible en un sous-type via décoché conversion.
  • R1 est l'effacement de R2 (suppression des paramètres de type).

Comportement hérité (Java 5 et avant)

Avant dans Java 5, les méthodes remplacées avaient des types de retour invariants, ce qui signifie qu'elles devaient correspondre au type de retour de la méthode remplacée exactement.

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!

source:php.cn
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal