  |
L'oggetto corrente viene acceduto tramite this |
Il meccanismo nascosto che consente di accedere ai campi è la variabile implicita (ma sempre presente) this. Questa variabile viene utilizzata ogni volta che nel codice si fa riferimento campo. Infatti possiamo vedere nel seguente listato:
Num (int num) {
n = num;
}
La n non è un parametro del costruttore, e non è nemmeno dichiarato all'interno del costruttore. È una variabile libera, nel senso che nessuno la definisce. In questi casi la cosa è gestita come segue:
  |
equivale a: |
Num(int num) {
this.n = num;
}
Tutte le variabili libere prendono il loro valore dall'ambiente, e vi di accedono tramite la variabile implicita this.
  |
Notare che n è campo (persistente) mentre num è un
parametro (non persistente) |
Un'altra cosa che distingue i campi dalle variabili è il fatto che mentre le variabili vanno via alla fine del metodo, invece cambi sono più resistenti: sono persistenti e permangono alla fine del metodo.
|