Surcharge, c'est-à-dire Surcharge, c'est-à-dire Override ;
La différence est la suivante : la surcharge se produit dans la même classe ; l'écrasement se produit dans le processus d'héritage.
La surcharge a les caractéristiques suivantes :
Elle se produit dans la même classe
Parmi les fonctions surchargées, les noms de fonction sont les mêmes, mais les paramètres de fonction (numéro et type) sont différents.
La surcharge n'a rien à voir avec le type de retour
Explorons-la à travers un exemple.
public String print(String word) { return word; }// ①函数名称相同,参数个数不同public String print(String word, String title) { return word + title; }// ②函数名称相同,参数类型不同public String print(int num) { return num + ""; }// ③函数名称相同,参数类型、个数不同public String print(int num, int num2) { return num + num2 + ""; }// ④与返回类型无关public int print() { return 100; }
Le remplacement présente les caractéristiques suivantes :
Exigences de la méthode pour que le remplacement se produiseLe nom de la méthode, le type de retour, le numéro/type de paramètre doivent être exactement les mêmes. La méthode
peut utiliser l'annotation @Override pour vérifier si elle est utilisée. est une écriture en double.
Les droits d'accès des méthodes de sous-classe sont supérieurs à ceux de la classe parent.
Les méthodes de sous-classe ne peuvent générer que des exceptions plus petites ou aucune exception que les méthodes de classe parent.
La méthode remplacée ne peut pas avoir de modificateurs final, privé, statique. Parce que les méthodes modifiées avec final ou private ne peuvent pas être héritées et que les méthodes statiques ne sont liées qu'aux classes. Elles sont réécrites sous la forme, mais en fait la sous-classe définit simplement sa propre méthode statique.
Ce qui suit est un exemple de réécriture :
class Parent { String word ="Parent"; void print(){ } } class Son extends Parent { String word ="Son"; @Override void print(){ System.out.println(word); } } class Grandson extends Son { String word ="Grandson"; @Override void print(){ System.out.println(word+"-"+super.word); } }
Ce qui précède est le contenu de 06.Java Basics - Overloading & Rewriting. Pour plus de contenu connexe, veuillez. Suivez le site PHP chinois (www.php.cn) !