Java, THIS in KONSTRUKTOREN?

... komplette Frage anzeigen

3 Antworten

Im Konstruktor gibt es die Bezeichner "next" und "prev" doppelt. Einmal sind es lokale Aufrufparameter des Konstruktors, einmal sind es Membervariablen der Klasse.

Wenn du jetzt einfach "next" schreibst, ist damit immer der lokale Parameter gemeint (der verdeckt sozusagen den Klassenmember). Damit der Compiler weiß, dass du auf den Klassenmember zugreifen willst, musst du explizit "this.next" schreiben.

Wäre der lokale Parameter anders benannt, wäre das nicht nötig.

Antwort bewerten Vielen Dank für Deine Bewertung

Du solltest dich mit den Grundzügen der objektorientierten Programmierung beschäftigen. 

https://docs.oracle.com/javase/tutorial/java/javaOO/thiskey.html

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von cmrrr
10.11.2016, 12:08

sowohl "this.next = this;" als auch "this.prev = prev;" verstehe ich.

Lediglich verstehe ich nicht so ganz, was "prev.next = this;" und "next.prev = this;" bewirkt, könnten sie mir dabei helfen?

LG

0

Du hast kA wie ne Liste funktioniert, das ist das problem.

Prev ist der vorherige Knoten, prev.next der Nachfolger vom vorherigen Knoten - und das muss der aktuelle Knoten (this) sein. Eigentlich ganz logisch..

Antwort bewerten Vielen Dank für Deine Bewertung

Was möchtest Du wissen?