Junior
Cosa sono le variabili statiche?
sobes.tech AI
Risposta dell'AI
Le variabili statiche appartengono alla classe, non a un'istanza specifica. Esistono in un'unica istanza durante tutto il tempo di esecuzione del programma e sono condivise da tutti gli oggetti di quella classe. La modifica di una variabile statica da parte di un oggetto sarà visibile agli altri oggetti.
Caratteristiche principali:
- Appartenenza: Alla classe.
- Numero di istanze: Una per classe.
- Durata di vita: Dall'avvio della classe fino alla fine del programma.
- Accesso: Di solito tramite il nome della classe
ClassName.staticVariable, anche se è possibile accedere tramite un'istanza (non raccomandato). - Inizializzazione: Una sola volta al caricamento della classe.
Esempi di utilizzo:
- Contatori di oggetti creati dalla classe.
- Costanti condivise da tutta la classe.
- Risorse condivise gestite dalla classe.
Esempio in Java:
class MyClass {
static int counter = 0; // Variabile statica
public MyClass() {
counter++; // Incrementa il contatore statico alla creazione di un oggetto
}
public static void main(String[] args) {
MyClass obj1 = new MyClass();
MyClass obj2 = new MyClass();
System.out.println(MyClass.counter); // Output: 2
}
}
Esempio in Python:
class MyClass:
counter = 0 # Variabile statica
def __init__(self):
MyClass.counter += 1 # Incrementa il contatore statico
def main():
obj1 = MyClass()
obj2 = MyClass()
print(MyClass.counter) # Output: 2
if __name__ == "__main__":
main()