Inicjalizacja bloku statycznego
To fragment kodu Java:
static {
ture = 9;
}
static int ture;
{ // instance block
System.out.println(":"+ture+":");
}
Jak się w ogóle kompiluje? Deklaracja zmiennej „ture” została wykonana po inicjalizacji. O ile wiem, statyczne bloki i pola zostały wykonane w kolejności, w jakiej się pojawiają.
A dlaczego ta wartość 9 w bloku instancji została wydrukowana 3 razy? Nawiasem mówiąc, wystąpienie klasy zostało utworzone 3 razy. To nie jest praca domowa, uczę się języka Java do certyfikacji.