私の友人の一人が、最初の静的変数または静的ブロックをロードするものを私に尋ねました。
私の答えは静的変数を指しています。
それで彼は私に2つの方程式を与え、それらを区別すると言いました
最初の方程式
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
2番目の方程式
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
バイトコードを逆コンパイルしようとしましたが、上記の式の両方で同じであることがわかりました。それらを区別するのを手伝ってください。静的変数がいつ初期化されるのか混乱しています。