Junior — Middle
Czym różni się zmienna statyczna w programowaniu i jakie ma cechy?
sobes.tech AI
Odpowiedź od AI
Zmienna statyczna to zmienna, która należy do klasy, a nie do konkretnego egzemplarza obiektu. Istnieje w pojedynczym egzemplarzu dla całej klasy i zachowuje swoją wartość między wywołaniami metod.
Cechy zmiennych statycznych:
- Wspólna dla wszystkich egzemplarzy klasy: wszystkie obiekty klasy dzielą tę samą zmienną statyczną.
- Inicjalizuje się raz podczas ładowania klasy.
- Dostępna bez tworzenia egzemplarza klasy (przez nazwę klasy).
- Używana do przechowywania stanu lub danych wspólnych dla wszystkich obiektów.
Przykład w Java:
public class Counter {
public static int count = 0;
public Counter() {
count++;
}
}
// Użycie:
Counter c1 = new Counter();
Counter c2 = new Counter();
System.out.println(Counter.count); // Wyświetli 2
W testach zmienne statyczne mogą sprawiać trudności, ponieważ ich stan jest zachowywany między testami, co może prowadzić do niepożądanych efektów ubocznych. Dlatego ważne jest czyszczenie lub izolowanie danych statycznych w testach.