Skip to main content

Co to są zmienne statyczne?

Zmienne statyczne, zwane również zmiennymi globalnymi, to elementy danych, które nie są powiązane z konkretnym przykładem klasy.Tylko jedna wartość dla tych zmiennych może istnieć niezależnie od liczby tworzonych obiektów klasowych.W zależności od kontekstu zmienne statyczne mogą być bardziej elastyczne lub bardziej restrykcyjne niż ich odpowiedniki zmiennych instancji, które mają własne dyskretne wartości dla każdego konkretnego obiektu typu klasy.W językach programowania zorientowanych na obiekty dobra praktyka programowania zwykle decyduje, że użycie obiektów statycznych, metod lub zmiennych było ograniczone do minimum, ale mają one przydatne zastosowania.

Jednym z głównych powodów, dla których zmienne statyczne są czasami uważane za ograniczająceNie więcej niż jedna wartość może istnieć dla zmiennej.Wszelkie przypisanie do zmiennej zastępuje poprzedni, a wszelkie informacje w poprzedniej wartości są utracone.Bez wielu kopii zmiennej nie można przechowywać wielu wartości danych.Jeśli wartość zostanie zmieniona, każdy obiekt, który wpływa, musi działać z nową wartością, a jeśli stara wartość nie miała zostać usunięta, zmiana może okazać się szkodliwa dla każdego obiektu instancji określonego typu klasy.O ile zmienna nie zostanie w jakiś sposób zablokowana przy stworzeniu, ryzyko nieoczekiwanej zmiany i późniejsze spustoszenie może siać na obiektach, powodując, że niektórzy programistowie unikają zmiennych statycznych, gdy tylko jest to możliwe.

Zmienne statyczne można czasem uznaćograniczający.Nawet jeśli wartość zmiennych nie zostanie zablokowana, planowane zmiany jej wartości mogą mieć pozytywne efekty.Zmienna, która jest udostępniona między wszystkimi obiektami klasy, gwarantuje, że jest spójna i może być używana zarówno w klasie, jak i poza nią z pewnością, że jej wartość jest zawsze taka sama.Zmienne, które są statyczne, mają wiele przydatnych zastosowań, w szczególności w utrzymaniu stałych i wdrażaniu serializacji.W szczególności Java w dużej mierze opiera się na tym statycznym mechanizmie serializacji.

Istnieją pewne ogólne zasady, których programiści często stosują podczas wdrażania zmiennych statycznych.Zmienne te zwykle działają najlepiej jako małe wartości danych, ponieważ duże obiekty statyczne mogą sprawić, że program może sprawić, że program jest o wiele bardziej sztywny niż musi.Małe wartości danych można szybko i łatwo zmieniać bez zbytniego strachu przed wprowadzeniem błędów.Duże obiekty statyczne wymagają więcej czasu i wysiłku, aby się zmienić, a także są bardziej podatne na wprowadzenie błędu, który zakłóciłby wszystkie obiekty klasowe.Są to wytyczne, a nie niezniszczalne reguły, i mogą istnieć zastosowania zarówno dla małych, jak i dużych zmiennych, w zależności od programu.