366 Stimmen

Wann sollte ich "dies" in einer Klasse verwenden?

Ich weiß, dass this bezieht sich auf ein aktuelles Objekt. Aber ich weiß nicht, wann ich es wirklich brauchen werde. Gibt es zum Beispiel einen Unterschied, wenn ich x 代わりに this.x in einigen der Methoden? Kann sein x auf eine Variable verweisen wird, die für die betreffende Methode lokal ist? Ich meine eine Variable, die nur in dieser Methode zu sehen ist.

Was ist mit this.method() ? Kann ich es verwenden? Sollte ich es verwenden. Wenn ich nur method() wird sie dann nicht standardmäßig auf das aktuelle Objekt angewendet?

0voto

amit kumar Punkte 19732

Gibt es einen Unterschied, wenn ich "x" anstelle von "this.x" in einigen der Methoden verwende?

Normalerweise nicht. Aber manchmal macht es einen Unterschied:

  class A {
     private int i;
     public A(int i) {
        this.i = i; // this.i can be used to disambiguate the i being referred to
     }
  }

Wenn ich einfach "method()" verwende, wird sie dann nicht standardmäßig auf das aktuelle Objekt angewendet?

Ja. Aber wenn nötig, this.method() stellt klar, dass der Anruf von diesem Objekt getätigt wird.

-10voto

Myster October Punkte 1

Um sicherzustellen, dass die Mitglieder des aktuellen Objekts verwendet werden. In Fällen, in denen die Threadsicherheit eine Rolle spielt, kann es vorkommen, dass einige Anwendungen die falschen Objekt-Member-Werte ändern; aus diesem Grund sollte dies auf den Member angewendet werden, damit der korrekte Objekt-Member-Wert verwendet wird.

Wenn Ihr Objekt nicht mit der Thread-Sicherheit befasst ist, gibt es keinen Grund, den Wert des Objekts zu spezifizieren, der verwendet wird.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X