Un metodo setter non statico può apparire come segue:Java statici auto-riferimenti
private int var;
public void setVar(int var) {
this.var = var;
}
E non riesco a trovare il modo di risolvere che con un metodo statico:
private static int var;
public static void setVar(int var) {
// ???
}
One la soluzione è scrivere myClass.var = var;
. Ma è brutto, perché quando rinominare la mia classe, devo trovare e sostituire tutte le occorrenze. Un'altra soluzione è rinominare il parametro su v
e scrivere var = v;
. Anche per me questo è brutto.
Non c'è davvero alcun modo per risolvere questo come in php ?
Quando si utilizza un IDE corretto, è sempre possibile eseguire un * Refactor Rename *, che cambierà anche qualsiasi nome di classe esplicito. – skiwi
Se si utilizza una soluzione di refactoring quando si rinomina la classe, è necessario occuparsi di tali riferimenti. –
Dato che il campo della classe 'var' è privato, non devi mai cercare altrove nella stessa classe per i riferimenti, quando rinomini la tua classe senza usare uno strumento di refactoring adeguato (come un IDE). Inoltre, come trovi tutte le importazioni in altri tipi dove usi il metodo setter 'setVar()' se non usi un IDE? Ti suggerisco di utilizzare un IDE e non ci dovrebbero essere problemi _real_ là fuori. – Harmlezz