Polymorphismus, Überschreiben und Überladen in Java
Polymorphismus definieren
Bei der Diskussion von Polymorphismus in Java kann sein Wesen weder überladen noch überschreiben. Polymorphismus lässt sich am besten durch abstrakte Basisklassen oder Schnittstellen verstehen.
Abstrakte Basisklassen und Polymorphismus
Betrachten Sie eine abstrakte Basisklasse Human mit einer abstrakten Methode goPee(), die a definiert Konzept, das für Menschen erst vollständig realisierbar ist, wenn es in seinen Unterklassen wie Male und instanziiert wird Weiblich.
public abstract class Human { ... public abstract void goPee(); }
Überschreiben in Unterklassen
Unterklassen wie Male und Female implementieren die goPee()-Methode basierend auf ihren spezifischen Eigenschaften:
public class Male extends Human { ... @Override // Annotation indicating override public void goPee() { System.out.println("Stand Up"); } }
public class Female extends Human { ... @Override // Annotation indicating override public void goPee() { System.out.println("Sit Down"); } }
Polymorphes Verhalten
Damit Setup kann ein Array menschlicher Objekte sowohl männliche als auch weibliche Instanzen enthalten. Wenn goPee() für alle Menschen aufgerufen wird, wird die für jede Unterklasse spezifische überschriebene Methode ausgeführt, die polymorphes Verhalten zeigt:
public static void main(String[] args) { ArrayList<Human> group = new ArrayList<>(); group.add(new Male()); group.add(new Female()); // Polymorphism: Execute overridden goPee() in each subclass for (Human person : group) person.goPee(); }
Schlussfolgerung
Polymorphismus manifestiert sich durch die Fähigkeit von Objekten verschiedener Klassen, die unterschiedlich auf denselben Methodenaufruf reagieren. Es nutzt Vererbung und Methodenüberschreibung, um diese Flexibilität zu erreichen.
Das obige ist der detaillierte Inhalt vonWie funktioniert Polymorphismus in Java durch Vererbung und Methodenüberschreibung?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!