Considerazioni sul modificatore static

Capire il funzionameno del modificatore static è uno dei primi argomenti ostici che si troverà ad affrontare il programmatore java alle prime armi (a meno che non abbia già esperienza con altri linguaggi orientati agli oggetti). Tale modificatore è molto potente e può essere applicato sia alle variabili che ai metodi di una classe.
Trattandosi di un modificatore di classe, le sue caratteristiche vengono ereditate dalla classe nel suo complesso, e non dalle singole istanze. Cambiando il valore associato ad una variabile static, ad esempio, tutte le istanze della classe (indipendentemente dal valore che hanno in quel momento) assumeranno automaticamente il nuovo valore. Ciò non accade se la variabile non è statica: in questo caso, infatti, le varie istanze potranno avere valori differenti associati alla variabile non statica.
Vediamo un esempio. Creiamo una classe con una variabile non statica eta e una variabile statica ETA:

Creiamo, dentro il metodo main, due istanze della classe e assegnamogli valori differenti per le variabili eta ed ETA:

Ora stampiamo i risultati per vedere cosa viene fuori:

mentre per la variabile non statica stampa i diversi valori attribuitigli nelle due istanze, ciò non avviene per la variabile static, di cui stampa solamente il valore definitivo che gli è stato attribuito. Essendo una variabile di classe, infatti, i diversi oggetti istanziati dalla classe A non possono assumere valori differenti per questa variabile.

static

 

Ecco il codice completo dell’esercizio:

 

Lascia un commento

Your email address will not be published.