Einfach ausgedrückt führen verschiedene Objekte das gleiche Verhalten aus, erzeugen aber unterschiedliche Zustände
Ein sehr einfaches Beispiel: Schüler einer bestimmten Klasse Nach der Prüfung haben verschiedene Schüler unterschiedliche Prüfungsergebnisse erzielt, einige haben die Grenze zum Bestehen überschritten und einige haben gute Ergebnisse erzielt.
Um Polymorphismus zu erreichen, sind folgende Bedingungen erforderlich: 1 Es muss sich im Vererbungssystem befinden und eine Aufwärtstransformation erfolgen#🎜🎜 #2. Die Unterklasse sollte die Methode der übergeordneten Klasse überschreiben werden im Folgenden im Detail vorgestellt
2. Aufwärtstransformation
2.1 Konzept
Wir führen die oben genannten Klassen durch. Modifizieren Sie es:
class Plant { String name; String source; String genu; public void func() { System.out.println("父类方法"); } } class Tree extends Plant { public void trait() { System.out.println("子类方法"); } }
Plant tree=new Tree();#🎜🎜 #Weil es so ist Wenn Tree als übergeordnete Klasse verwendet wird, kann er derzeit die Methode der Unterklasse nicht aufrufen , also überspringe ich es 2.2 Häufige Formen des UpcastingsDas obige Beispiel ist das erste: direkte Zuweisung Außerdem dort sind zwei Formen als Methodenparameter als Methodenrückgabewert
1. Statische, endgültige, private geänderte Methoden und Konstruktormethoden können nicht umgeschrieben werden
#🎜 🎜#2. Die Zugriffsrechte von Unterklassenmethoden müssen größer sein als oder gleich der übergeordneten Klasse3 Nach JDK7 kann der Rückgabewerttyp der überschriebenen Methode unterschiedlich sein, sie muss jedoch eine Eltern-Kind-Beziehung haben, bei der es sich um einen kovarianten Typ handelt4. Rufen Sie die überschriebene Methode nicht im Konstruktor auf. Der letzte Punkt wird separat erläutert: Angenommen, der Konstruktor der übergeordneten Klasse ruft die überschriebene Methode auf, da die Konstruktormethode der Unterklasse dies tut Rufen Sie zuerst die Konstruktormethode der übergeordneten Klasse auf, sodass die überschriebene Methode dynamisch gebunden und aufgerufen wurde, bevor das Unterklassenobjekt vollständig erstellt wurde. In diesem Fall steigt die Wahrscheinlichkeit von Programmproblemen erheblich.
Nach dem Verständnis der Aufwärtstransformation und Umschreiben, Sie wissen im Grunde, wie man Polymorphismus in Java implementiert: Kombinieren Sie Aufwärtstransformation und Umschreiben, um Polymorphismus unter dem Vererbungssystem zu erreichen
Das obige ist der detaillierte Inhalt vonWas sind die Konzepte des Java-Polymorphismus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!