Se scrivo la seguente classe:L'uso di "questo" in Java
public class Example {
int j;
int k;
public Example(int j, int k) {
j = j;
k = k;
}
public static void main(String[] args) {
Example exm = new Example(1,2);
System.out.println(exm.j);
System.out.println(exm.k);
}
}
Il programma viene compilato, ma quando ho eseguito il programma, il metodo principale stampare due 0s. So che per dire che voglio inizializzare le variabili di istanza nel costruttore devo scrivere:
this.j = j;
this.k = k;
Ma se non scrivo, poi la variabile viene valutata (o considerato) in costruttore (a sinistra e sul lato mano di scrittura delle espressioni)? È l'argomento o la variabile di istanza? Fa la differenza?
Esistono altri casi in cui l'uso di this
è obbligatorio?
Questo tipo di errore è un buon motivo per rendere definitivi i parametri. –
Puoi anche dare un'occhiata a: http://stackoverflow.com/questions/132777/do-you-prefix-your-instance-variable-with-this-in-java – VonC
In uno dei posti in cui ho lavorato, loro non ha mai permesso di modificare i parametri, ma non ha mai permesso che i parametri venissero contrassegnati come "finali". E mi piace uno stile simile. È, err, elegante :) – Srikanth