Heim  >  Artikel  >  Java  >  Was ist der Unterschied zwischen dem Schlüsselwort super und diesem Schlüsselwort in Java?

Was ist der Unterschied zwischen dem Schlüsselwort super und diesem Schlüsselwort in Java?

王林
王林nach vorne
2020-08-31 16:40:013030Durchsuche

🔜 Es kann verstanden werden als: ein Zeiger auf das Objekt selbst. Die Verwendung von

Was ist der Unterschied zwischen dem Schlüsselwort super und diesem Schlüsselwort in Java?this kann in Java grob in drei Typen unterteilt werden:

1. Gewöhnlicher direkter Verweis

this entspricht dem Verweisen auf das aktuelle Objekt selbst. 2. Wenn die Namen der teilnehmenden Mitglieder den gleichen Namen haben, verwenden Sie dies, um sie zu unterscheiden.

3 Das Schlüsselwort super kann als Zeiger auf seine Klasse verstanden werden Das Objekt der eigenen Superklasse (übergeordnet) ist ein Zeiger, und diese Superklasse verweist auf die übergeordnete Klasse, die ihr am nächsten liegt.

super hat auch die folgenden Verwendungszwecke:

1. Gewöhnlicher direkter Verweis

In ähnlicher Weise entspricht super einem Verweis, der auf die übergeordnete Klasse des aktuellen Objekts verweist, sodass Sie super.xxx verwenden können, um auf Mitglieder des Objekts zu verweisen Elternklasse.

2. Wenn die Mitgliedsvariablen oder -methoden in der Unterklasse denselben Namen haben wie die Mitgliedsvariablen oder -methoden in der übergeordneten Klasse, verwenden Sie Super, um sie zu unterscheiden. (Empfohlenes Video-Tutorial:

Java-Kurs.)

Unterschied:

1. Referenzunterschiede

1. ist eine Referenz auf das übergeordnete Objekt im aktuellen Objekt.

2. Dies: bezieht sich auf die Referenz des aktuellen Objekts

2. Die aufrufende Funktion ist anders

1. Ruft einen Konstruktor in der Basisklasse auf (sollte die erste Anweisung im Konstruktor sein).

2. Dies: Rufen Sie einen anderen in dieser Klasse gebildeten Konstruktor auf (sollte die erste Anweisung im Konstruktor sein)

3 Die referenzierten Objekte sind unterschiedlich

1. Wird für den Zugriff auf Mitgliedsdaten oder Funktionen in der übergeordneten Klasse verwendet, die in der direkten übergeordneten Klasse ausgeblendet sind. Die Basisklasse und die abgeleitete Klasse haben dieselbe Mitgliedsdefinition. Format: Super-Variablenname.

2. Dies: stellt den aktuellen Objektnamen dar (wo im Programm wahrscheinlich Mehrdeutigkeiten auftreten, sollte dies verwendet werden, um das aktuelle Objekt anzugeben; wenn die Form der Funktion denselben Namen wie die Mitgliedsdaten in der Klasse hat, aus der Notwendigkeit heraus, zu verhindern, dass es ausgeblendet wird. Zu diesem Zeitpunkt müssen Sie dies verwenden, um den Namen der Mitgliedsvariablen anzugeben.

Das obige ist der detaillierte Inhalt vonWas ist der Unterschied zwischen dem Schlüsselwort super und diesem Schlüsselwort in Java?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:csdn.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen