Ciao, la keyword this fa riferimento all'oggetto a cui un metodo o costruttore appartiene.
Ciò vuol dire che non può essere usata nei metodi di classe (quelli static).
Nel caso in cui la keyword this non sia necessaria è più bello non usarla (anche se il suo utilizzo non crea problemi).
Alcuni esempi:
Questo è un esempio dell'uso di this
codice:
public class A {
String s;
public A(String s) {
this.s = s;
}
public void print() {
System.out.println(s);
}
public static void main(String[] args) {
A a = new A("Hello World");
a.print();
}
}
Questo da errore perchè un metodo static non "appartiene" a nessun oggetto, this non può quindi essere usata.
(Cannot make a static reference to the non-static method print)
codice:
public class A {
public static void main(String[] args) {
this.print();
}
public void print() {
System.out.println("Hello World");
}
}