2012-04-01 18 views

Antwort

7

Es ist egal und ist nicht unterscheidbar

Es ist ein bisschen wie ein Auto zu bauen. Je nach Ausstattung ein anderer Konstruktor verwendet wird, aber am Ende haben Sie ein Auto (diese)

+0

danke für die Blumen ;-) –

2

Sie das this Stichwortes als Platzhalter denken kann. Zur Laufzeit wird dieses Schlüsselwort mit der Objektreferenz des Objekts ausgetauscht, mit dem Sie es zu tun haben.

3

Es hat nichts mit Konstruktoren, Speicherzuweisung oder etwas ähnliches zu tun. this Schlüsselwort ist nur aktuelle Objektinstanzreferenz.

7

Das Schlüsselwort this hat zwei Bedeutungen und die Verwirrung könnte um diese beiden Bedeutungen herum liegen.

Im Konstruktor ist this(...) wie ein Methodenaufruf für Konstruktoren. Der Compiler wählt basierend auf der Anzahl und den Typen der von Ihnen verwendeten Argumente aus, welcher Konstruktor aufgerufen werden soll.

Wenn Sie this als Referenz verwenden, bedeutet dies, dass dieses Objekt und der verwendete Konstruktor nicht wichtig ist.

20

Sie haben zwischen this. und this(), so zu unterscheiden zu sprechen:

Die meiste Zeit, Sie this als Referenz auf das aktuelle Objekt verwenden, das heißt die Referenz dieses Objekt zur Laufzeit für this ersetzt wird. Zum Beispiel, wenn Sie this als Parameter oder Referenz this.someMember verwenden.

können Sie verschiedene Konstrukteure haben mit unterschiedlichen Parametern, das heißt Überlastung Konstrukteuren. Zu Beginn eines Konstruktors können Sie einen anderen Konstruktor aufrufen, indem Sie this(parameter_1, ... parameter_n); als erste Anweisung verwenden.

Eine schöne Erklärung der beiden Fälle kann bei the java tutorial about the this keyword finden.

1

Verwendung this innerhalb eines Verfahrens Körper bezieht sich auf die Instanz der Klasse, in der das Verfahren vorhanden ist.

Dies bedeutet auch, dass this nicht aus einem static Kontext verwendet werden kann.

1

this bedeutet die Instanz selbst regarldless, wie die Instanz

Stichwort
0

1.'this gebaut wurde, bezieht sich der Klasse zu widersprechen, wo es used.Generally schreiben wir Instanzvariablen, Konstruktoren und Methoden in class.All dieser Mitglieder werden durch "dieses" repräsentiert.
2.When ein Objekt einer Klasse erstellt wird, wird ein Standardreferenz auch intern auf die object.It die nichts anderes als ‚das‘ erstellt wurde.
3.Example für dieses Stichwort:
Probe (int x) // Parameterized Constructor {
dies.x = x; // Speichert die lokale Variable x in die aktuelle Klasseninstanzvariable x
}

Verwandte Themen