Jason. Cała informatyka w jednym miejscu!

Jest jeszcze wczesna godzina, zatem macie kolejny materiał już po raz czwarty z rzędu TEGO SAMEGO DNIA! Nie wiem jak ja to znoszę i póki co, nie chcę się nad tym zastanawiać. Przechodzimy do kolejnego prostego tematu związanego z Javą, który macie traktować jako całkowicie opcjonalny. Dotyczy on statyczności, jest rzadko stosowany, a to coś w języku Java kryje się pod nazwą "inicjalizator statyczny". Poznajcie szerzej ten termin razem z przykładem pozostawionym w środku.

INICJALIZATOR STATYCZNY W JĘZYKU JAVA. WYJAŚNIENIE TERMINU

Ten pięknie brzmiący termin to nietypowy blok kodu pozwalający inicjować wartości danych składowych i stałych statycznych (modyfikator "static"). Wywołuje się on tylko JEDEN RAZ w dwóch sytuacjach:

  • gdy utworzymy obiekt posiadający inicjalizator statyczny
  • gdy będziemy chcieli skorzystać z jakiejkolwiek danej statycznej w klasie, która posiada inicjalizator statyczny

Praktycznie nie ma w tym tak dużej użyteczności z racji tego, że równie dobrze możemy i bez tego przypisywać różne wartości do danych statycznych, stałych czy zmiennych. Ważne jest też to, że wywołuje się to jako pierwsze, zanim wykona się jakikolwiek ruch w podanych dwóch przypadkach. To tyle z teoretycznych informacji.

PRZYKŁAD KODU ŹRÓDŁOWEGO

Zobaczmy teraz prosty kod źródłowy. Inicjalizator statyczny rozpoznamy bez większych problemów z powodu nietypowego zapisu. Samo słowo "static", a pod nim klamerki wyznaczające granice bloku instrukcji jakie mają zostać wykonane jako pierwsze.

KLASA "MAIN"

public class Main {
	public static void main(String[] args) {
		System.out.println("Dostaję się do danej statycznej - wartość wynosi " + StaticInitialiser.getN());
	}
}

KLASA "STATICINITIALISER"

public class StaticInitialiser {
	private static int n;

	static {
		System.out.println("Wykonuję inicjalizator statyczny...");

		n = 350;
	}

	public static int getN() {
		return n;
	}
}

Aby zobaczyć efekt w pełni, wypadałoby sobie to skompilować i uruchomić, ale nikt tego nie będzie od Was wymagał. Szybko streszczając, efekt jest taki że wywołanie metody "System.out.println" wypisuje tekst wraz z wartością zmiennej statycznej, ale zanim tak się stanie, to inicjalizator statyczny przejmie pałeczkę, wykona swoją część wypisując przy okazji własny komunikat, przypisze wartość liczbową zmiennej "n" i dopiero po zakończeniu tego bloku, zostanie "kontynuowany" proces odczytywania liczby. Stanie się dokładnie to, co opisałem teoretycznie na samym początku.

Słowo kluczowe "static" w języku Java

Inicjalizator statyczny w języku Java wykonuje się jako pierwszy przed podjęciem jakichkolwiek czynności dotyczących danych statycznych, bądź klasy, która je przechowuje. Służy do inicjacji danych statycznych, choć można też wywoływać w nim metody.


Tyle w tym temacie, gdyż stanowi jedynie dodatek który jest rzadko wykorzystywany. Dzisiaj piszę Wam już "dobranoc", bo cztery artykuły w ciągu jednej doby to naprawdę wyczerpujące zajęcie.

PODOBNE ARTYKUŁY