Remplacement de java (Apprentissage recommandé : cours java )
Réécriture est une réécriture par une sous-classe du processus d'implémentation des méthodes accessibles de la classe parent. Ni la valeur de retour ni les paramètres formels ne peuvent être modifiés. Autrement dit, le shell reste inchangé et le noyau est réécrit !
L'avantage de la substitution est que les sous-classes peuvent définir leur propre comportement selon leurs besoins. En d’autres termes, les sous-classes peuvent implémenter les méthodes de la classe parent selon les besoins.
Une méthode surchargée ne peut pas lever de nouvelles exceptions vérifiées ou des exceptions plus larges que celles déclarées par la méthode surchargée.
Par exemple :
Une méthode de la classe parent déclare une exception vérifiée IOException, mais lors du remplacement de cette méthode, vous ne pouvez pas lancer d'exception car Exception est IOException La classe parent de IOException ne peut lever que des exceptions de sous-classes de IOException.
Dans les principes orientés objet, la substitution signifie que toute méthode existante peut être remplacée. L'exemple est le suivant :
class Animal{ public void move(){ System.out.println("动物可以移动"); }} class Dog extends Animal{ public void move(){ System.out.println("狗可以跑和走"); }} public class TestDog{ public static void main(String args[]){ Animal a = new Animal(); // Animal 对象 Animal b = new Dog(); // Dog 对象 a.move();// 执行 Animal 类的方法 b.move();//执行 Dog 类的方法 }}
Les résultats de compilation et d'exécution de l'exemple ci-dessus sont les suivants :
动物可以移动 狗可以跑和走
Comme vous pouvez le voir dans l'exemple ci-dessus, bien que b appartienne au type Animal, mais il exécute la méthode move de la classe Dog.
En effet, lors de la phase de compilation, seul le type référence du paramètre est vérifié.
Cependant, au moment de l'exécution, la machine virtuelle Java (JVM) spécifie le type d'objet et exécute les méthodes de l'objet.
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!