Bloki inicjujące w Javie
Spis treści
Każdy, kto programuje w Javie wie, że do utworzenia obiektów wykorzystujemy konstruktory. Okazuje się jednak, że istnieją także inne konstrukcje, które mogą być wywoływane podczas tworzenia obiektów.
Statyczne bloki inicjujące
W ramach klasy możesz zapisać statyczny blok inicjujący, który wygląda w następujący sposób:
class Foo {
static {
System.out.println("Blok statyczny");
}
}
Taki blok wykonywany jest tylko raz, podczas ładowania klasy do wirtualnej maszyny Javy przez ClassLoader. Jeżeli więc odwołamy się do powyższej klasy w dowolny sposób z poziomu metody main(), to w konsoli zobaczymy wydruk, pomimo tego, że nigdzie w programie nie utworzyliśmy żadnego obiektu i nie wywołaliśmy żadnej metody klasy Foo.
class Bar {
public static void main(String[] args) {
Foo foo;
}
}
Wynik działania powyższego programu w konsoli:
Dyskusja i komentarze
Masz pytania do tego wpisu? Może chcesz się podzielić spostrzeżeniami? Zapraszamy dyskusji na naszej grupie na Facebooku.