Quote Originariamente inviata da ilterribile Visualizza il messaggio
quindi il this serve per richiamare la nostra variabile....
Quote Originariamente inviata da ilterribile Visualizza il messaggio
la differenza principale sta nei getter e setter a quanto vedo ad una prima occhiata questa è la differenza più importante
No, la differenza "importante" non è quella. In quell'esempio che hai trovato, nel main invocava getNome() e getCognome() senza farlo su di un riferimento all'oggetto.
Mentre la cosa importante è appunto (dal codice di fermat) quel: dipendente.getNome()

Riguardo il this, invece nei metodi di istanza può generalmente essere "implicito". Va invece usato esplicitamente per fare riferimento ad un campo quando c'è uno "shadowing", una variabile locale (o parametro) che "nasconde" il campo.

Nel getNome() fare:

return nome;

oppure

return this.nome;

è assolutamente INDIFFERENTE. Per il compilatore è la stessa cosa (nel primo, il this è implicito).

Nel setNome(String nome) il parametro ha lo stesso nome del campo. Questo si chiama "shadowing". Quindi all'interno del metodo solo "nome" è il parametro e se vuoi accedere al campo DEVI usare this.nome