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() { .... }
Conformément à la spécification du langage Java (section 8.4.5), la substituabilité des types de retour est autorisée si :
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!