Home Nirvana SezioneMoz Altro TonyTammaro
 

LEZIONE TRE: Uso della parola chiave static


La parola chiave static anteposta ad un metodo od un attributo di una classe lo fa unico nella classe ed esso non è quindi un elemento distinto per ogni classe.
Definire campi static è un pò contro il paradigma ad oggetti proprio per questo fatto. Gli oggetti sono stati inventati per avere questa particolare dinamicità delle operazioni, ma usando static un metodo diventa unico.
Metodi statici non possono richiamare metodid un oggetto. Quando nel metodo static richiamiamo il metodo non static, non abbiamo appresso un riferimento ad un oggetto. Dunque non possiamo chiamarlo.
Invece le istanze possono riferirsi sia a metodi che campi statici. Facciamo un exemplo:


class StaticTest {
static int i=47;
}
//nel main,,,
StaticTest st1=new StaticTest();
...
..
StaticTest.i++;
st1.i++;


Le due istruzioni finali rappresentano la stessa istruzione perché la variabile i nella classe è una variabile di classe e quindi unica per tutti gli oggetti. L'abbiamo dunque incrementata due volte, il suo valore finale sarà 49!!
Inizializzazione dei campi static e non-static
I campi non statici vengono inizializzati quando viene creata un'istanza. I campi statici devono essere inizializzati prima di una qualsiasi istanziazione. Essi sono inizializzati a load time quando viene creata la classe. Una classe viene caricata la prima volta che viene nominata nel codice. Naturalmente questi campi vengono inizializzati solo una volta, la prima volta che la classe è chiamata.
I campi non statici primitivi che non inizializziamo noi sono inizializzati con i valori di default (NULL).

INDIETRO ---- AVANTI

 

 

 
     

     
       
           

webmaster: ngjocm@tin.it

©2003 Sito Ufficiale del Movimento Operaio Zokor • Creato in onore della dea Vicky