Lorsqu'une sous-classe a besoin des fonctions de la classe parent et que la sous-classe a un nouveau contenu, elle peut remplacer les méthodes de la classe parent. Dans le processus de développement actuel, à mesure que la quantité de code augmente progressivement, la maintenance est devenue un gros problème. Si une méthode doit être modifiée, son propre code et celui de sa sous-classe seront affectés, et la réécriture est une bonne solution.
Le remplacement de méthode est également appelé remplacement de méthode et remplacement de méthode. (Étude recommandée : cours java)
La réécriture est la réécriture par la sous-classe du processus d'implémentation des méthodes de la classe parent qui permettent l'accès, les valeurs de retour et les paramètres formels Rien ne peut être changé.
Caractéristiques de la réécriture de méthode
Dans la sous-classe et la classe parent, la même déclaration de méthode se produit
Méthode de la sous-classe La déclaration doit être le même que la classe parent
La méthode à remplacer par la sous-classe, le modificateur d'autorisation de la méthode ne peut pas être inférieur à celui de la classe parent (les autorisations publiques, protégées, par défaut, privées augmentent dans l'ordre)
Méthodes privées de la classe parent, les sous-classes ne peuvent pas remplacer les méthodes
Exemples de code
Créez d'abord la classe parent Person.java
package Rewrite; public class Person { public void eat() { System.out.println("吃饭!"); } public void work() { System.out.println("工作!"); } public void sleep() { System.out.println("睡觉!"); } }
puis créez la sous-classe Student.java
package Rewrite; /* Student子类继承Person父类,并对父类的work()方法进行重写 */ public class Student extends Person { public void work() { super.work(); //使用super关键字调用父类方法 System.out.println("学习!"); System.out.println("娱乐!"); } }
et appelez
package Rewrite; public class Main { public static void main(String[] args) { Person per = new Person(); //创建父类对象 per.eat(); per.work(); per.sleep(); Student stu = new Student(); //创建子类对象 stu.work(); } }
dans l'exemple Main.java. analyse :
Trois méthodes sont définies dans la classe parent Person, et la méthode work() est réécrite dans la sous-classe
Lors de la réécriture, le type de valeur de retour, le nom de la fonction, et la liste des paramètres de la fonction sont tous identiques
Vous pouvez utiliser le mot-clé super dans une sous-classe pour appeler la méthode de la classe parent
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!