Heim > Java > javaLernprogramm > Hauptteil

Java-Grundlagen – Polymorphismus

巴扎黑
Freigeben: 2017-06-26 11:30:00
Original
1499 Leute haben es durchsucht

Polymorphismus bezieht sich darauf, dass Objekte unterschiedlichen Typs auf dieselbe Nachricht reagieren können. Es bietet die Vorteile von Flexibilität, Abstraktion, Verhaltensfreigabe und Code-Freigabe, was maximale Auslastung und Einfachheit sowie Ladegeschwindigkeit bedeutet.

1. Die Rolle des Polymorphismus

Beseitigen Sie die Kopplungsbeziehung zwischen Typen. Das heißt, dass dasselbe Ereignis, das auf verschiedenen Objekten auftritt, zu unterschiedlichen Ergebnissen führt.

2. Implementierungsformen von Polymorphismus

1. Überladung (vorkommend in der gleichen Klasse)

2.

3. Vorteile von Polymorphismus

1. Erweiterbarkeit

3 .Schnittstelle (Polymorphismus bietet eine gemeinsame Schnittstelle zu Unterklassen durch Methodensignaturen)

4. Einfachheit

5. Flexibilität

Hinweis: Diese Vorteile mögen fiktiv klingen, aber Sie können sie nur realisieren, wenn Sie sie tatsächlich anwenden.

Drei Voraussetzungen für die Existenz von Polymorphismus

1 Es muss eine Vererbungsbeziehung bestehen

2 Elternklasse

3. Die Referenz der Elternklasse verweist auf das Unterklassenobjekt

Codebeispiel: Definieren Sie eine Elternklasse „Tier“ und eine Unterklasse „Hund“

 1 //父类——Animal 2 public class Animal { 3     int num = 44; 4     static int age = 2; 5  6     public void eat() { 7         System.out.println("动物都需要吃东西"); 8     } 9 10     public static void sleep() {11         System.out.println("动物需要睡觉");12     }13 14     public void run() {15         System.out.println("长腿的动物爱奔跑");16     }17 }
Nach dem Login kopieren
 1 //子类——Dog 2 public class Dog extends Animal { 3     int num = 5; 4     static int age = 5; 5     String name = "Tom"; 6  7     public void eat() { 8         System.out.println("我爱吃狗粮"); 9     }10 11     public static void sleep() {12         System.out.println("我是一只不爱睡觉的活泼狗狗");13     }14 15     public void catchMouse() {16         System.out.println("我喜欢多管闲事");17     }18 19 }
Nach dem Login kopieren
 1 //测试类 2 public class Demo_Test { 3     public static void main(String[] args) { 4         Animal a = new Dog(); 5         a.eat(); 6         a.sleep(); 7         a.run(); 8          9         System.out.println(a.num);10         System.out.println(a.age);11     }12 }
Nach dem Login kopieren

Notizen-Demonstration:

Aus dem obigen Druckergebnis (7) können wir schließen:

1) Mitgliedsvariablen: Drucken Sie die übergeordnete Klasse, die Unterklasse wird nicht ausgegeben;

2) Mitgliedsmethode: Die übergeordnete Klasse ist Wenn sie statisch ist, wird die übergeordnete Klasse gedruckt. Wenn sie nicht statisch ist, wird die Unterklasse direkt gedruckt.

3) Es gibt Fehler in 5 und 6 auf der linken Seite, weil die Die Methode, die wir beim Aufruf statischer Mitglieder verwendet haben, ist falsch. (Der richtige Screenshot wird unten angezeigt)

4) Beim Aufrufen einer Methode, die nicht in der übergeordneten Klasse (a.catchMouse();) enthalten ist, wird ein Fehler angezeigt gemeldet. )

Derzeit kann der Polymorphismus seine eigenen einzigartigen Attribute und Methoden nicht verwenden. Wie kann man ihn also lösen?

Antwort: Richten Sie diesen Verweis auf die übergeordnete Klasse auf das Unterklassenobjekt a und erzwingen Sie ihn dann zurück auf den Dog-Typ. Auf diese Weise ist a eine Referenz vom Typ Dog und zeigt auch auf das Dog-Objekt.

Das obige ist der detaillierte Inhalt vonJava-Grundlagen – Polymorphismus. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage