Google hat eine Seite auf der Sun-Website gefunden, auf der dies ein wenig diskutiert wird.
Sie haben Recht, was die Variable angeht; this
kann tatsächlich verwendet werden, um eine Methodenvariable von einem Klassenfeld zu unterscheiden.
private int x;
public void setX(int x) {
this.x=x;
}
Aber ich realmente Ich hasse diese Konvention. Zwei verschiedenen Variablen buchstäblich identische Namen zu geben, ist ein Rezept für Fehler. Ich bevorzuge etwas in der Art von:
private int x;
public void setX(int newX) {
x=newX;
}
Gleiche Ergebnisse, aber ohne die Möglichkeit eines Fehlers, bei dem man versehentlich auf x
wenn Sie in Wirklichkeit meinen, dass Sie sich auf x
stattdessen.
Was die Verwendung mit einer Methode angeht, so haben Sie Recht, was die Auswirkungen angeht. Sie werden mit oder ohne Methode die gleichen Ergebnisse erzielen. Kann man es verwenden? Sicher. Sollten Sie es verwenden? Das bleibt Ihnen überlassen, aber da ich persönlich der Meinung bin, dass es sich um eine sinnlose Verschwendung handelt, die nicht zur Klarheit beiträgt (es sei denn, der Code ist mit statischen Import-Anweisungen vollgestopft), bin ich selbst nicht geneigt, es zu verwenden.