Quel est le mécanisme d'implémentation du polymorphisme en Java
Le mécanisme d'implémentation du polymorphisme en Java consiste à s'appuyer sur des références de classes parentes ou interfaces pour pointer vers des sous-classes, réalisant ainsi les caractéristiques de plusieurs formes d'un objet. La référence de sa classe parent pointe dynamiquement vers l'instance spécifique au moment de l'exécution. Lorsque la méthode de référence est appelée, elle ne s'exécute pas selon la méthode définie. dans le type de la variable de référence, mais selon la méthode définie dans le type de la variable de référence. Méthodes d'instance concrète.
Exemple simple
Personne.java
import java.util.Scanner; public class Person { public int salary; public int allSalary(){ return 0; } public static void main(String[] args) { Person p = null; for (int n = 0; n < 3; n++) { @SuppressWarnings("resource") Scanner sc = new Scanner(System.in); System.out.println("请输入一个1-3的数字:\n1 is Teacher\n2 is Scientis\n3 is Waiter"); int i = sc.nextInt(); //分别指向了不同的子类,输出的结果是不一样的 if (i == 1) { p = new Teacher(5000); System.out.println(p.allSalary()); } else if (i == 2) { p = new Scientist(5000); System.out.println(p.allSalary()); } else if (i == 3) { p = new Waiter(5000); System.out.println(p.allSalary()); } else { System.out.println("?\n请输入1-3"); } } } }
Scientifique .java
public class Scientist extends Person{ public Scientist(int salary){ this.salary = salary; } public int allSalary(){ int aa = salary*12+36500; System.out.print("五五开一年的工资:"); return aa; } }
Serveur .java
public class Waiter extends Person{ public Waiter(int salary){ this.salary = salary; } public int allSalary(){ int aa = salary*12; System.out.print("服务员一年的工资:"); return aa; } }
Professeur .java
public class Teacher extends Person{ public Teacher(int salary){ this.salary = salary; } public int allSalary(){ int aa = salary*12+3650; System.out.print("教师一年的工资:"); return aa; } }
Tutoriel recommandé : "Tutoriel 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!