Eine nicht-statische Setter-Methode wie folgt aussehen:Java statische Selbstreferenzen
private int var;
public void setVar(int var) {
this.var = var;
}
Und ich kann nicht herausfinden, wie das mit einer statischen Methode zu lösen:
private static int var;
public static void setVar(int var) {
// ???
}
One Lösung ist zu schreiben myClass.var = var;
. Aber das ist hässlich, denn wenn ich meine Klasse umbenenne, muss ich alle Vorkommen finden und ersetzen. Eine andere Lösung besteht darin, den Parameter in v
umzubenennen und var = v;
zu schreiben. Für mich ist das auch hässlich.
Gibt es wirklich keine Möglichkeit, dies zu lösen, wie in php ?
Wenn Sie eine richtige IDE verwenden, können Sie immer einen * Refactor Rename * machen, der auch einen expliziten Klassennamen ändert. – skiwi
Wenn Sie beim Umbenennen Ihrer Klasse eine Refactoring-Lösung verwenden, sollte sie diese Referenzen für Sie übernehmen. –
Aufgrund der Tatsache, dass das Klassenfeld 'var' privat ist, müssen Sie nie irgendwo anders als in der Klasse selbst nach Referenzen suchen, wenn Sie Ihre Klasse umbenennen, ohne ein geeignetes Refactoring-Tool (wie eine IDE) zu verwenden. Außerdem, wie finden Sie alle Importe in anderen Typen, wo Sie die Setter-Methode 'setVar()' verwenden, wenn Sie keine IDE verwenden? Ich schlage vor, Sie verwenden eine IDE und es sollte kein _real_ Problem da draußen sein. – Harmlezz