Czym jest element statyczny klasy?
Element statyczny klasy to składnik klasy oznaczony zwykle słowem kluczowym static. Może to być np. pole statyczne albo metoda statyczna. Najważniejsza cecha: element statyczny należy do klasy, a nie do pojedynczego obiektu.
Oznacza to, że dla pola statycznego istnieje jedna wspólna wartość współdzielona przez wszystkie instancje danej klasy. Jeśli jeden obiekt zmieni wartość pola statycznego, zmiana będzie widoczna także dla innych obiektów tej klasy.
Pole statyczne
Pole statyczne często wykorzystuje się do przechowywania danych wspólnych dla wszystkich obiektów, np. licznika utworzonych instancji.
class Uzytkownik {
static int liczbaUzytkownikow = 0;
Uzytkownik() {
liczbaUzytkownikow++;
}
}
W tym przykładzie liczbaUzytkownikow nie jest osobną wartością dla każdego obiektu. Jest jedna dla całej klasy Uzytkownik.
Metoda statyczna
Metoda statyczna również należy do klasy. Można ją wywołać bez tworzenia obiektu.
class Matematyka {
static int kwadrat(int x) {
return x * x;
}
}
int wynik = Matematyka.kwadrat(5);
Ważne na egzaminie
Element statyczny nie służy do dynamicznego dodawania metod, ograniczania dostępu ani automatycznego usuwania obiektów. Jego główna rola to powiązanie składnika z klasą, a nie z konkretną instancją. Dlatego poprawne stwierdzenie brzmi: element statyczny zachowuje wspólną wartość dla wszystkich instancji klasy.