Heim > Java > javaLernprogramm > Polymorphismus in Java: Wie unterscheidet er sich vom Überschreiben und Überladen?

Polymorphismus in Java: Wie unterscheidet er sich vom Überschreiben und Überladen?

DDD
Freigeben: 2024-12-24 20:23:12
Original
722 Leute haben es durchsucht

Polymorphism in Java: How Does it Differ from Overriding and Overloading?

Polymorphismus: Den Unterschied zwischen Überschreiben und Überladen enthüllen

Wenn es um Polymorphismus in Java geht, ist es wichtig, den Unterschied zwischen Überschreiben und Überladen zu klären Überlastung. Überladung bezieht sich auf das Vorhandensein mehrerer Methoden mit demselben Namen, aber unterschiedlichen Parameterlisten innerhalb derselben Klasse. Beim Überschreiben hingegen geht es darum, eine Methode in einer Unterklasse zu definieren, die dieselbe Signatur (Name und Parameter) wie eine Methode in ihrer Oberklasse hat.

Bei der Betrachtung von Polymorphismus liegt die genaueste Antwort im Konzept von abstrakte Klassen oder Schnittstellen. Eine abstrakte Basisklasse definiert eine Methode ohne Implementierung, die dann in ihren Unterklassen implementiert wird. Dieser Ansatz veranschaulicht Polymorphismus.

Betrachten Sie zur Veranschaulichung eine abstrakte Basisklasse Human mit einer abstrakten Methode goPee(), die nicht auf Human-Ebene definiert werden kann, sondern in den Unterklassen Male und Female implementiert werden muss, um geschlechtsspezifische Aspekte zu berücksichtigen. spezifisches Verhalten.

public abstract class Human {
    public abstract void goPee();
}
Nach dem Login kopieren
public class Male extends Human {
    @Override
    public void goPee() {
        System.out.println("Stand Up");
    }
}
Nach dem Login kopieren
public class Female extends Human {
    @Override
    public void goPee() {
        System.out.println("Sit Down");
    }
}
Nach dem Login kopieren

In diesem Beispiel wird die Methode goPee() in den Unterklassen überschrieben, um spezifisches Verhalten bereitzustellen Implementierungen. Polymorphismus kommt ins Spiel, wenn wir einer Gruppe von Menschen sagen können, sie sollen pinkeln, und sie werden die Aktion gemäß ihren jeweiligen Implementierungen ausführen.

public static void main(String[] args) {
    ArrayList<Human> group = new ArrayList<>();
    group.add(new Male());
    group.add(new Female());

    // Tell Humans to go pee
    for (Human person : group) person.goPee();
}
Nach dem Login kopieren

Ausgabe:

Stand Up
Sit Down
Nach dem Login kopieren

Daraus Durch die Demonstration wird deutlich, dass Polymorphismus die Fähigkeit verschiedener Objekte innerhalb einer Vererbungshierarchie ist, unterschiedliche Verhaltensweisen zu zeigen, während sie auf dieselbe Nachricht reagieren. Überschreiben ist der Mechanismus, der dieses Verhalten ermöglicht, während Überladen ein separates Konzept ist, das sich auf Methodensignaturen innerhalb derselben Klasse bezieht.

Das obige ist der detaillierte Inhalt vonPolymorphismus in Java: Wie unterscheidet er sich vom Überschreiben und Überladen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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