  |
Notare l'ordine |
Osserviamo il seguente listato e chiediamoci se quanto in esso
espresso possa considerarsi corretto.
class Stack {
Stack(){this(10);}
Stack(int size)
{ stack = new int [size]; }
int top=0;
int stack;
}
  |
È corretto! Riferimenti in avanti sono consentiti |
  |
Prima vengono inizializzati i campi |
  |
Poi viene eseguito il corpo costruttore |
A prima vista qualcuno esperto in altri linguaggi potrebbe esprimere
qualche dubbio in quanto potrebbe pensare che le dicharazioni dei
campi, essendo posti DOPO il loro uso, potrebbero dare errore. Invece
non è così in quanto Java è progettato per massimizzare la
facilita; d'uso. In effetti i riferimenti in avanti sono
consentiti. L'esecuzione rimane comunque quella specificata finora:
prima vengono inizializzati i campi e poi viene eseguito il corpo del
costruttore. Un metodo può riferirsi a un campo o chiamare un metodo
non ancora speficato.
|