Pola statyczne

Słownik kwalifikacji INF.04 - Projektowanie, programowanie i testowanie aplikacji

Pole statyczne

Pole statyczne to pole należące do klasy, a nie do konkretnego obiektu. Oznacza się je modyfikatorem static.

Jeżeli w klasie istnieje pole statyczne, to wszystkie obiekty tej klasy korzystają z tej samej zmiennej zapisanej w pamięci. Zmiana wartości pola statycznego przez jeden fragment kodu jest widoczna dla pozostałych obiektów.

Przykład

class MojaKlasa {
    private static int licznik;
}

W tym przykładzie pole licznik:
- jest private, czyli dostępne tylko wewnątrz klasy,
- jest static, czyli wspólne dla całej klasy,
- ma typ int.

Nie oznacza to, że pole jest stałe. Modyfikator static nie blokuje zmiany wartości. Do tego służy np. final w Javie lub readonly/const w C#.

Typowe zastosowanie

Pole statyczne często wykorzystuje się jako licznik utworzonych obiektów:

class Uzytkownik {
    private static int liczbaUzytkownikow = 0;

    public Uzytkownik() {
        liczbaUzytkownikow++;
    }
}

Każde utworzenie obiektu zwiększa tę samą zmienną liczbaUzytkownikow.

Najważniejsze do egzaminu

Jeśli widzisz zapis:

static int licznik;

to pamiętaj: wartość pola jest wspólna dla wszystkich instancji klasy.