Javaプログラミング初心者のためのページ -11ページ目

static変数:インスタンス変数との違い

インスタンス変数はインスタンス化の度に別の領域が作成されます。
クラス変数は初めてそのクラスを使用したときに1つの領域が作成されます。
何個インスタンスを作成しても、クラス変数の領域は1つしか作成されません。

問題1
問題2

static変数:インスタンス変数との違い:問題2

問題:コンパイル・実行結果はどうなるか?
A. コンパイルエラー
B. 100が表示される
C. 200が表示される
D. 実行エラー

class M{
    public static void main(String[] args) {
        X x1 = new X();
        X x2 = new X();

        x1.i = 100;
        x2.i = 200;

        System.out.println(x1.i);
       }
}

class X{
    static int i;
}












解答:
C. 200が表示される

static変数:インスタンス変数との違い:問題1

問題:コンパイル・実行結果はどうなるか?
A. コンパイルエラー
B. 100が表示される
C. 200が表示される
D. 実行エラー

class M{
    public static void main(String[] args) {
        X x1 = new X();
        X x2 = new X();

        x1.i = 100;
        x2.i = 200;

        System.out.println(x1.i);
       }
}

class X{
    int i;
}












解答:
B. 100が表示される