次のコードがあります。
public class StaticKindOfThing {
static int a =getValue();
static int b = 10;
public static int getValue()
{
return b;
}
public static void main (String []args)
{
System.out.println(a);
}
}
デフォルト変数が 0 に設定されていることは承知していますが、実行時には発生しませんか? 上記のコードから、実行前に 0 へのデフォルトの初期化が行われるように見えます。それ以外の場合、getValue はコンパイル エラーまたは値が見つからない実行時例外を発生させます。だから私の質問はです。変数static int b = 10;
はコンパイル時に 0 のデフォルト値を取得しますか?