Apropos Überladen und Überschreiben in Java, jeder ist damit vertraut, aber ich werde dies heute schreiben.
Thema dieses Artikels:
1. Was ist Überlastung?
2. Was ist Deckung
3.. Der Unterschied zwischen den beiden
Überlast:
Wenn in einer Klasse zwei oder mehr Funktionen desselben Namens erscheinen, kann die Anzahl der Parameter oder die Parametertypen unterschiedlich sind, sie kann als Überladung der Funktion bezeichnet werden.
Wenn die Funktion denselben Namen hat, schauen Sie sich nur die Parameterliste an. Es hat nichts mit dem Rückgabewerttyp zu tun.
Achten Sie bei der Verwendung von Überlastung:
1. Bei der Verwendung von Überladung können Sie nur verschiedene Parameterstile übergeben. Beispielsweise unterschiedliche Parametertypen, unterschiedliche Parameterzahl und unterschiedliche Parameterreihenfolge.
2. Der Ausnahmetyp und die Anzahl der Methoden wirken sich nicht auf die Überladung aus.
3. Für die übergeordnete Klasse kann die untergeordnete Klasse eine Methode mit demselben Namen wie die Vererbungsmethode in der übergeordneten Klasse überladen. Wenn eine Methode in der übergeordneten Klasse Zugriffserlaubnis hat und Priavte ist, kann sie in der Kinderklasse nicht überladen werden. Wenn es definiert ist, definiert es nur eine neue Methode und erreicht den Effekt der Überlastung nicht.
Überschreiben:
Wenn genau dieselbe Methode in der untergeordneten übergeordneten Klasse erscheint, wird die Methoden in der Unterklasse ausgeführt. Es scheint, als ob die Methode in der übergeordneten Klasse überschrieben ist. Diese Situation ist also ein weiteres Merkmal der Funktion: Überschreiben.
Wann kann man Deckung verwenden?
Wenn eine untergeordnete Klasse die übergeordnete Klasse erbt, muss der funktionale Inhalt der übergeordneten Klasse geändert werden. Sie kann durch Überschüsse implementiert werden
Achten Sie beim Abdecken der Methode auf zwei Punkte:
1. Wenn eine Unterklasse die übergeordnete Klasse überschreibt, muss sichergestellt werden, dass die Berechtigungen der Unterklasse -Methode größer oder gleich den Berechtigungen der übergeordneten Klassenmethode sein müssen, um die Vererbung zu erreichen. Andernfalls schlägt die Zusammenstellung fehl.
2. Wenn sie bedeckt sind, sind sie entweder statisch oder sie sind nicht statisch. (Statisch kann nur statisch abdecken oder von statisch bedeckt sein) Ja
3. Die endgültige modifizierte Methode ist eine endgültige Methode und kann nicht überschrieben werden.
4. Wenn eine untergeordnete Klasse die übergeordnete Klassenmethode überschreibt, kann sie nur weniger Ausnahmen als die übergeordnete Klasse machen oder untergeordnete Ausnahmen der von der Elternklasse ausgelösten Ausnahme ausführen, da die untergeordnete Klasse einige Probleme der Elternklasse lösen kann und nicht mehr Probleme haben kann als die Elternklasse.
Unterschiede zwischen Überlastung und Überschreibung:
1. Die Überschreibung einer Methode ist die Beziehung zwischen der Unterklasse und der Elternklasse, die eine vertikale Beziehung ist; Die Überlastung einer Methode ist die Beziehung zwischen den Methoden in derselben Klasse, die eine horizontale Beziehung ist.
2. Überschreiben kann nur durch eine Methode oder nur durch ein Paar Methoden verursacht werden. Das Überladen einer Methode ist die Beziehung zwischen mehreren Methoden.
3. Die Parameterliste der Abdeckungsanforderung ist gleich; Die Parameterliste der Überlastanforderung ist unterschiedlich.
4. In der Überschreibung wird der Methodenkörper basierend auf dem Typ des Objekts aufgerufen. Die Überlastbeziehung wird basierend auf der tatsächlichen Parametertabelle und der formalen Parametertabelle zum Zeitpunkt des Aufrufs ausgewählt.
Das obige ist das eingehende Verständnis der Überlastung und Berichterstattung von Java, die Sie vom Herausgeber zu Ihnen gebracht haben. Ich hoffe, jeder kann Wulin.com mehr unterstützen ~