静的変数:クラス変数であり、クラスのオブジェクトごとに個別に作成されません。
インスタンス変数:クラス変数でもありますが、オブジェクトごとに個別に作成されます。
上記の定義は参考用です。
このクラス宣言でエラーが発生する理由を説明してください。xを初期化していないからだとわかります。
class non_static{
public static void main(String args[])
{
int x;
System.out.println(x);
}
}
しかし、このクラス宣言はまったく問題ありません。
class static_example{
static int x;
public static void main(String args[])
{
System.out.println(x);
}
}
そして、このプログラムの出力は0です。
ローカル変数がデフォルト値ではないのに静的メンバーがデフォルト値で初期化される理由を説明してください。