Który zostanie załadowany pierwsza zmienna statyczna lub blok statyczny? [duplikować
To pytanie ma już odpowiedź tutaj:
Java: w jakiej kolejności inicjowane są statyczne pola końcowe? 5 odpowiedziJeden z moich znajomych zapytał mnie, co załaduje pierwszą zmienną statyczną lub blok statyczny.
Moja odpowiedź wskazuje na zmienną statyczną.
Więc dał mi dwa równania i powiedział, żeby je rozróżnić
First Equation
public class Some {
public static void main(String args[])
{
System.out.println(Some.x);
}
static {
System.out.println(Some.x);
}
static int x=90;
}
O / P: 0 90
Drugie równanie
public class Some {
public static void main(String args[])
{
System.out.println(Some.x);
}
static int x=90;
static {
System.out.println(Some.x);
}
}
O / P: 90 90
Próbowałem zdekompilować kod bajtu i znalazłem to samo dla obu powyższych równań. Proszę o pomoc w rozróżnieniu między nimi. Nie jestem pewien, kiedy zostanie zainicjowana zmienna statyczna.