1. Variabili locali
Facciamo un discorso più serio sulle variabili. Ma questa volta non parleremo della loro struttura interna. Invece, ci concentreremo su come le variabili interagiscono con il codice in cui si trovano.
Tutte le variabili dichiarate all'interno dei metodi sono chiamate variabili locali . Una variabile locale esiste solo nel blocco di codice in cui è dichiarata. O, per essere più precisi, esiste dal momento in cui viene dichiarato fino alla fine del blocco di codice in cui viene dichiarato.
Per semplicità consideriamo un esempio:
Codice | Visibilità variabile |
---|---|
|
|
Parliamo ancora una volta dell'accesso alle variabili locali. Ecco un blocco di codice costituito da parentesi graffe: questo potrebbe essere il corpo di un metodo, il corpo di un ciclo o solo un blocco di codice per un'istruzione condizionale. Una variabile dichiarata in un blocco di codice esiste fino alla fine di quel blocco di codice.
Se una variabile viene dichiarata nel corpo del ciclo, esisterà solo nel corpo del ciclo. Viene creato e distrutto ad ogni iterazione del ciclo.
Esempio:
Codice | Visibilità variabile |
---|---|
|
|
Siamo stati in grado di dichiarare una seconda variabile locale denominata b
solo perché la prima b
variabile non è visibile nel blocco di codice in cui b
è dichiarata la seconda variabile.
2. Parametri
Come abbiamo detto prima, ogni metodo può avere variabili che chiamiamo parametri. E la loro visibilità e durata?
È tutto semplice. I parametri vengono creati quando l'esecuzione entra nel metodo (cioè quando inizia l'esecuzione del codice del metodo). Vengono eliminati al termine del metodo. Sono visibili in tutto il corpo del metodo.
Esempio:
Codice | Visibilità variabile |
---|---|
|
|
Come abbiamo detto prima, args
è solo una variabile il cui tipo è un array di stringhe. E come tutti i parametri, è disponibile ovunque all'interno del corpo del metodo. Detto questo, di solito lo ignoriamo nei nostri esempi.
3. Variabili in una classe
Ricorderai dalle lezioni del Livello 1 che una classe può avere metodi e variabili. I metodi sono talvolta chiamati metodi di istanza e variabili - variabili di istanza o campi. Questi sono in realtà sinonimi in Java.
Quali sono le variabili (o campi) di una classe?
Sono variabili dichiarate non in un metodo, ma in una classe.
È possibile accedervi da qualsiasi metodo (non statico) di una classe. In parole povere, le variabili di istanza sono variabili condivise da tutti i metodi di una classe.
Esempio:
Codice | Visibilità variabile |
---|---|
|
|
In questo esempio, abbiamo due metodi — add()
e remove()
. Il add()
metodo incrementa le variabili di istanza sum
e count
e il remove()
metodo diminuisce le variabili sum
e count
. Entrambi i metodi funzionano su variabili di istanza condivise.
Le variabili locali esistono durante l'esecuzione di un metodo. Le variabili di istanza di una classe esistono all'interno di un oggetto di una classe finché tale oggetto esiste. Imparerai i dettagli sugli oggetti di una classe nel livello successivo.
4. Variabili statiche
Come i metodi, le variabili in una classe possono essere statiche o non statiche. I metodi statici possono accedere solo a variabili statiche.
Nel Livello 11 analizzeremo la struttura delle variabili statiche e dei metodi e capirete le ragioni di queste restrizioni.
Per creare una variabile statica (variabile di classe), devi scrivere la static
parola chiave nella sua dichiarazione.
Le variabili statiche non sono associate a un oggetto oa un'istanza della classe in cui sono dichiarate. Appartengono invece alla classe stessa. Ecco perché esistono anche se non è stato creato un solo oggetto della classe . Puoi fare riferimento a loro da altre classi usando un costrutto come:
ClassName.variableName
Esempio:
Codice | Visibilità variabile |
---|---|
|
|
Nell'esempio sopra, abbiamo creato una Storage
classe separata, abbiamo spostato le variabili count
e sum
al suo interno e le abbiamo dichiarate static . È possibile accedere alle variabili statiche pubbliche da qualsiasi metodo in un programma (e non solo da un metodo).