Was bedeutet This. ?

JavaTamara

Mitglied
Guten morgen liebes Forum,

eine wahrscheinlich ganz einfach zu beantwortende Frage, nur leider bin ich im Internet nirgends darauf gestoßen!

Was bedeutet eigentlich das this. , dass man im Programmcode häufig schreibt?

Liebe Grüße,

JavaTamara
 

nrg

Top Contributor

Landei

Top Contributor
Typischer Anwendungsfall ist im Konstruktor:

Java:
public class Foo {
   private String name; //<---- eine Member-Variable 

   public Foo(String name) {  //<----- ein gleichnamiges Argument
       //Wie soll man jetzt die beiden "name"-Variablen unterscheiden?
       //"this" kann man lesen als "mein Member...", bezogen auf das Objekt, in dem der Code ausgeführt wird 
      this.name = name; //Aha, vorn ist die Member-Variable, hinten das Argument
   }
}

Ein weiterer Fall ist, wenn ein Objekt "sich selbst" zurückgeben will. Z.B. sieht die [c]toString[/c]-Methode der Klasse String so aus:

Java:
public final class String {
   ...

   public String toString() {
       return this; //der String gibt "sich selbst" als Wert zurück
   }
}
 
Zuletzt bearbeitet:

Guardi

Bekanntes Mitglied
Mal für Laien verständlich erklärt:

Java:
this
bedeutet im übertragenen Sinne sozusagen, aus der Perspektive eines Objekts:"Ich bin ein... und habe...".

Wenn du z.B. hast:

Java:
public class Haus extends Gebaeude{

public Haus(){
this.stockwerke = 3;
}

}

Wenn du eine Instanz von Haus hast, so bezieht sich das Haus mit
Java:
this
auf sich selbst.
"stockwerke" ist eine Member-Variable von Gebäude. (Achtung: Zugriff so wie oben geht nur wenn NICHT private).
Es sagt: "Ich bin ein Haus und auch ein Gebäude und habe somit Stockwerke".
 

Fu3L

Top Contributor
So wie ihr das beschreibt, wird es auch immer in Büchern beschrieben, das meiste Augenmerk auf die überdeckten Variablen und der eine Satz "this gibt die Referenz auf die Instanz des aktuellen Objekts" sagt einem Anfänger meist recht wenig (eigene Erfahrung)^^

Wichtig ist this ganz besonders, wenn ein Objekt ein anderes instanziert und dann dieses neue Objekt mit dem alten kommunizieren soll:

Java:
public class Hallo {
  public Hallo() {
     new Welt(this);
  }

  public void test() {
    System.out.println("Ich werde aufgerufen");
  }
}

class Welt {
  public Welt(Hallo h) {
    h.test();
  }
}

Welt erwartet ein Objekt vom Typ h, um an diesem test aufzurufen. Durch this kann das Hallo-Objekt sich selbst dafür übergeben.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
onlyxlia Was bedeutet das @Override? Java Basics - Anfänger-Themen 1
W Streams in Java und was bedeutet meine Konsolen-Ausgabe? Java Basics - Anfänger-Themen 4
N Was bedeutet dieser Fehler Java Basics - Anfänger-Themen 2
S Was bedeutet ungleich (in diesem Zusammenhang)? Java Basics - Anfänger-Themen 2
S Was bedeutet das Zeichen := Java Basics - Anfänger-Themen 9
H Was bedeutet das: [I@7d4991ad? Java Basics - Anfänger-Themen 20
P Was bedeutet dieser Fehler? Java Basics - Anfänger-Themen 31
MiMa Was bedeutet unchecked or unsafe operations? Java Basics - Anfänger-Themen 6
ZH1896ZH OOP Verstehe nicht was der Hinweis bedeutet, bitte um Hilfe! Java Basics - Anfänger-Themen 2
O Was bedeutet das hier 999_983? Java Basics - Anfänger-Themen 2
D Was bedeutet diese Schreibweise? Java Basics - Anfänger-Themen 9
W Was bedeutet im Struktogramm „zufall“ aufrufen (keine Parameterübergabe)? Java Basics - Anfänger-Themen 8
S Erste Schritte Was bedeutet dieser Code? Java Basics - Anfänger-Themen 2
D Erste Schritte Was bedeutet dieser Code? Java Basics - Anfänger-Themen 23
R Was bedeutet -1 Java Basics - Anfänger-Themen 2
V OOP Was bedeutet das "aBruch" Java Basics - Anfänger-Themen 6
U Was bedeutet $@ in der Linux Kommandozeile Java Basics - Anfänger-Themen 3
dave253 Was bedeutet (String args[])? Java Basics - Anfänger-Themen 6
D was bedeutet this. bei Konstruktoren? Java Basics - Anfänger-Themen 4
N Was bedeutet "Implementierung vor dem Client verbergen" bei Design Patterns? Java Basics - Anfänger-Themen 2
G Methoden Was bedeutet return in einer Methode Java Basics - Anfänger-Themen 5
V Was bedeutet das? Java Basics - Anfänger-Themen 4
G zeile: Was bedeutet das in der Methode? Java Basics - Anfänger-Themen 4
Y Was bedeutet "this" ohne dem Punkt und dem Atrributnamen danach? Java Basics - Anfänger-Themen 2
M was bedeutet setEnabled Java Basics - Anfänger-Themen 12
F Was bedeutet '@'? Java Basics - Anfänger-Themen 3
F Frage von einem Neuling: Was bedeutet Scanner scanner ? Java Basics - Anfänger-Themen 5
K Schlüsselworte Was bedeutet oder was ist die SIGNATUR?? Java Basics - Anfänger-Themen 4
O Was bedeutet public class value? Java Basics - Anfänger-Themen 3
A Was bedeutet der Operator *= ? Java Basics - Anfänger-Themen 2
N Was bedeutet << Java Basics - Anfänger-Themen 5
G Was bedeutet diese Zeile? Java Basics - Anfänger-Themen 2
S Was bedeutet dieser ausdruck? Java Basics - Anfänger-Themen 9
D Was genau bedeutet und bewirkt dieses @override? Java Basics - Anfänger-Themen 15
J Was bedeutet dieses a [i].length? Java Basics - Anfänger-Themen 3
D Was bedeutet < > Java Basics - Anfänger-Themen 4
D Was bedeutet das ?: Java Basics - Anfänger-Themen 9
B Was bedeutet static<T>?? Java Basics - Anfänger-Themen 6
0 Was bedeutet dieser Generic-code? Java Basics - Anfänger-Themen 3
php1 Was bedeutet der Modifier static ? Java Basics - Anfänger-Themen 3
K Was bedeutet das eigentlich.... Java Basics - Anfänger-Themen 18
G Was bedeutet? Java Basics - Anfänger-Themen 7
G Was bedeutet charAt()? Java Basics - Anfänger-Themen 5
J Was bedeutet der Doppelpunkt ":" ? Java Basics - Anfänger-Themen 3
G was bedeutet //TODO Java Basics - Anfänger-Themen 4
A Was bedeutet folgende Programmcodezeile genau Java Basics - Anfänger-Themen 6
B was bedeutet "this" Java Basics - Anfänger-Themen 8
L Was bedeutet das Wort "this" ? Java Basics - Anfänger-Themen 2
K was bedeutet '?' Java Basics - Anfänger-Themen 3
R Was bedeutet diese Zeile. Java Basics - Anfänger-Themen 8
S was bedeutet Typisiert? Java Basics - Anfänger-Themen 3
D Was bedeutet : ? Java Basics - Anfänger-Themen 4
M public static void main(String... args)<- Was bedeutet das? Java Basics - Anfänger-Themen 5
H Was bedeutet "class Liste<E>" Java Basics - Anfänger-Themen 2
J was bedeutet null Java Basics - Anfänger-Themen 7
padde479 Compiler-Frage: Was bedeutet deprecated? Java Basics - Anfänger-Themen 4
P Was genau bedeutet Feld Java Basics - Anfänger-Themen 3
G Was bedeutet diese Fehlermeldung von Tomcat Java Basics - Anfänger-Themen 29
G indexOf() - was bedeutet -1 ? Java Basics - Anfänger-Themen 27
P Was genau bedeutet "public static void main(String[] ar Java Basics - Anfänger-Themen 10
G setName bei JTextfield. Was bedeutet das? Java Basics - Anfänger-Themen 7
B Was bedeutet synchronized? Java Basics - Anfänger-Themen 8
D was bedeutet " Seiteneffekt " ? Java Basics - Anfänger-Themen 4

Ähnliche Java Themen

Neue Themen


Oben