0

Javaで静的変数と非静的変数を一緒に追加できますか? 例えば、

class Evolve{
    static int i = 1;
    static int j = 2;
    int x = 3;
    static int y = 6;

    public static void main(String args[]){
        System.out.println(i + j);
        System.out.println(x + i);
        System.out.println(i + y);
        System.out.println(x + j);
    }
}

ありがとう

4

5 に答える 5

2

Evolve のインスタンスを初期化し、それを

this.i

またはこのように

Evolve evolve = new Evolve();
System.out.println(evolve.i + Evolve.j);
于 2012-11-09T01:05:20.193 に答える
1

xはインスタンス変数なので、Evolve オブジェクトのインスタンスが必要です...

public static void main(String args[]){
  Evolve ev = new Evolve();
  System.out.println(Evolve.i + Evolve.j);
  System.out.println(ev.x + Evolve.i);
  System.out.println(Evolve.i + Evolve.y);
  System.out.println(ev.x + Evolve.j);
}
于 2012-11-09T01:35:01.557 に答える
1

非静的をインスタンスに含める必要がある場合は、次を使用してそれらを追加できますEvolve.i + this.x

于 2012-11-09T01:05:52.750 に答える
1

追加できるかどうかについては、静的/非静的は関係ありません。

これは、静的および非静的 (インスタンス) 変数にアクセスする方法です。

于 2012-11-09T01:08:24.050 に答える
1

いいえ、非静的(またはインスタンス) 変数xは、メソッドの静的コンテキストではアクセスできませんmain

于 2012-11-09T01:05:50.127 に答える