Sobes.tech
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.