Was ist der Implementierungsmechanismus von Polymorphismus in Java
Der Mechanismus zur Implementierung von Polymorphismus in Java besteht darin, sich auf Referenzen von übergeordneten Klassen zu verlassen Schnittstellen, die auf Unterklassen verweisen, wodurch die Eigenschaften mehrerer Formen eines Objekts realisiert werden. Die Referenz ihrer übergeordneten Klasse zeigt zur Laufzeit dynamisch auf die spezifische Instanz im Typ der Referenzvariablen, sondern entsprechend der im Typ der Referenzvariablen definierten Methode.
Einfaches Beispiel
Person.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"); } } } }
Scientist .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; } }
Kellner .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; } }
Teacher .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; } }
Empfohlenes Tutorial: „Java Tutorial“
Das obige ist der detaillierte Inhalt vonMit welchem Mechanismus implementiert Java Polymorphismus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!