Heim >Java >JavaErste Schritte >Wie man in Java zwischen den Konzepten des Umschreibens und des Überladens unterscheidet
Überladung (Überladung)
(empfohlenes Lernen: Java-Eingabeprogramm)
Methode Überladung ist ein Mittel für eine Klasse, verschiedene Datentypen auf einheitliche Weise zu verarbeiten. Es existieren gleichzeitig mehrere Funktionen mit demselben Namen und unterschiedlicher Anzahl/Art von Parametern. Überladung ist eine Manifestation des Polymorphismus in einer Klasse.
Methodenüberladung in Java bedeutet, dass Sie mehrere Methoden in einer Klasse erstellen können. Sie haben den gleichen Namen, aber unterschiedliche Parameter und unterschiedliche Definitionen.
Beim Aufrufen von Methoden bestimmt die spezifische Anzahl und Art der an sie übergebenen Parameter, welche Methode verwendet werden soll. Dies ist Polymorphismus.
Bei Überladung sollten die Methodennamen gleich sein, aber die Parametertypen und -nummern sind unterschiedlich und die Rückgabewerttypen können gleich oder unterschiedlich sein. Der Rückgabewerttyp kann nicht als Kriterium zur Unterscheidung überladener Funktionen verwendet werden.
Wenn eine übergeordnete Klassenmethode standardmäßig geändert wird, kann sie nur von ihren Unterklassen im selben Paket überschrieben werden. Wenn sie sich nicht im selben Paket befindet, kann sie nicht überschrieben werden.
Wenn für eine Methode einer übergeordneten Klasse ein Prototyp erstellt wird, wird sie nicht nur von ihren Unterklassen im selben Paket überschrieben, sondern kann auch von Unterklassen in verschiedenen Paketen überschrieben werden.
Überladene Regeln
müssen unterschiedliche Parameterlisten haben.
können unterschiedliche Rückgabetypen haben. solange die Parameterliste unterschiedlich ist;
kann unterschiedliche Zugriffsmodifikatoren haben;
Die Parameterliste muss genau mit der überschriebenen Methode übereinstimmen, andernfalls kann sie nicht als Umschreibung, sondern als aufgerufen werden Überlast.
Der Rückgabetyp muss immer mit dem Rückgabetyp der überschriebenen Methode identisch sein, andernfalls kann es sich nicht um eine Überschreibung, sondern um eine Überladung handeln.
Die Zugriffsmodifikatorbeschränkung muss größer sein als der Zugriffsmodifikator der überschriebenen Methode (public>protected>default>private)
Wiederholen Sie dies Die geschriebene Methode darf keine neue geprüfte Ausnahme oder eine geprüfte Ausnahme auslösen, die umfassender ist als die überschriebene Methodendeklaration. Beispiel: Eine Methode der übergeordneten Klasse deklariert eine geprüfte Ausnahme IOException. Beim Überschreiben dieser Methode können Sie nur Ausnahmen von Unterklassen von IOException auslösen, und Sie können ungeprüfte Ausnahmen auslösen.
(Video-Tutorial-Empfehlung: Java-Video-Tutorial)
1. Bei Verwendung von Überladung können Sie nur verschiedene Parameterstile verwenden. Zum Beispiel unterschiedliche Parametertypen, unterschiedliche Anzahl von Parametern, unterschiedliche Parameterreihenfolge (natürlich müssen mehrere Parametertypen in derselben Methode unterschiedlich sein, zum Beispiel kann es fun(int, float) sein, aber es kann nicht fun(int) sein , int )); 2. Das Überladen kann nicht durch Zugriffsberechtigungen, Rückgabetypen und ausgelöste Ausnahmen erfolgen.
3 >
4. Wenn eine Methode in der übergeordneten Klasse über privilegierten Zugriff verfügt, kann sie in der Unterklasse nicht überladen werden. Es wird nur eine neue Methode definiert.Überschreibungsfunktionen
1. Das Flag der überschriebenen Methode muss vollständig mit dem Flag der überschriebenen Methode übereinstimmen2 . Der Rückgabewert der überschriebenen Methode muss mit dem Rückgabewert der überschriebenen Methode übereinstimmen.
3 Die von der überschriebenen Methode ausgelöste Ausnahme muss mit der von der überschriebenen Methode ausgelösten Ausnahme übereinstimmen ; 4. Die überschriebene Methode kann nicht privat sein, da sonst nur eine neue Methode in ihrer Unterklasse definiert und nicht überschrieben wird.Zusammenfassung
Überlastung (Überladung)
Mindestens ein Parametertyp, eine Parameternummer und eine Reihenfolge sind unterschiedlich.Methodennamen, die nur unterschiedliche Rückgabewerte haben, können nicht überladen werden.
Existiert in übergeordneten Klassen, Unterklassen und ähnlichen Klassen.override (rewrite)
Der Methodenname, die Parameter und der Rückgabewert sind gleich.Unterklassenmethoden können die Zugriffsrechte von übergeordneten Klassenmethoden nicht reduzieren.
Unterklassenmethoden können nicht mehr Ausnahmen auslösen als übergeordnete Klassenmethoden (Unterklassenmethoden können jedoch keine Ausnahmen auslösen). existiert zwischen der übergeordneten Klasse und der untergeordneten Klasse. Methoden sind als endgültig definiert und können nicht überschrieben werden.Das obige ist der detaillierte Inhalt vonWie man in Java zwischen den Konzepten des Umschreibens und des Überladens unterscheidet. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!