Polymorphismus tritt zwischen Objekten zweier Klassen mit einer Vererbungsbeziehung auf, sodass er nicht wie die Methodenüberladung (die in einer Klasse auftritt) während der Kompilierung (d. h. bestimmt) auftritt, sondern zur Laufzeit (Beenden).Ein einfaches Beispiel für Polymorphismus in Java: Zuerst gibt es eine Animal-Klasse, die zwei Unterklassen hat: Cat und Dog; dann gibt es eine say-Methode in Animal. Wenn Cat diese Methode aufruft, ist die Ausgabe „Kitten Meow Meow Meow“. Wenn Dog diese Methode aufruft, lautet die Ausgabe „Welpenrinde, woof, woof“. 🔜 Es ist ein wichtiges Merkmal der objektorientierten Programmierung (OOP). Wenn eine Sprache nur Klassen, aber keinen Polymorphismus unterstützt, kann das nur bedeuten, dass sie objektbasiert und nicht objektorientiert ist.
Eine Referenz eines übergeordneten Klassentyps kann auf ein Objekt einer seiner Unterklassen verweisen
[Verschiedene] Objekte in der [gleichen] Klassendomäne weisen [unterschiedliche] Leistungen auf, wenn sie die [gleiche] Methode ausführen Das gibt es Ein klassisches polymorphes Beispiel: Es gibt eine Animal-Klasse, die zwei Unterklassen hat: Cat und Dog. Wenn Cat diese Methode aufruft, lautet die Ausgabe „Kitten Meow Meow“. Bei dieser Methode lautet die Ausgabe „Puppy Woof Woof Woof“, was die Implementierung des Java-Polymorphismus darstellt.
Hier schreiben wir noch eine: – Elternklasse: 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"); } } } }
– Unterklasse: 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; } }
public class Waiter extends Person{ public Waiter(int salary){ this.salary = salary; } public int allSalary(){ int aa = salary*12; System.out.print("服务员一年的工资:"); return aa; } }
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; } }
Möchten Sie mehr über das Programmierlernen erfahren, Bitte beachten Sie die Rubrik
php-Training!
Das obige ist der detaillierte Inhalt vonDetaillierte Erklärung einfacher Beispiele für Java-Polymorphismus. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!