Types de retour covariants dans le remplacement de méthode
Les méthodes de remplacement en Java peuvent différer dans leurs types de retour, à condition que certaines conditions soient remplies. Plus précisément, Java prend en charge les types de retour covariants, permettant à une méthode de remplacement d'avoir un type de retour plus spécifique que la méthode qu'elle remplace.
Selon la section 8.4.5 de la spécification du langage Java (JLS), cela est autorisé tant que car les règles suivantes sont respectées :
Si la méthode d'origine renvoie un type de référence :
Par exemple, considérons le code suivant :
class ShapeBuilder { ... public Shape build() { .... } } class CircleBuilder extends ShapeBuilder{ ... @Override public Circle build() { .... } }
Dans cet exemple, le La méthode build() dans CircleBuilder remplace la méthode build() dans ShapeBuilder. Le type de retour de la méthode substituée est Shape, tandis que le type de retour de la méthode substituée est Circle, qui est un sous-type de Shape. Ceci est autorisé par la règle des types de retour covariants de 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!