0

クラスC1とクラスC2があります。C1 にはパブリック ブール変数 b1 があります。

C1 に b1 の値を設定し、C1 にクラス C2 のオブジェクトを作成します。つまり、C1には次のものがあります:

b1 = true; 
C2 c2 = new C2(); 

C2 のコンストラクターで、b1 の値に基づいて決定したいと思います。C2 のコンストラクターで b1 (クラス C1 の変数) の値にアクセスするにはどうすればよいですか? C2 のコンストラクターには引数を指定できません。

ありがとう

4

3 に答える 3

3

C2 クラスが C1 の内部クラスとして定義されている場合、次のようにその外部クラスにアクセスできます。

C1.this.b1
于 2012-06-22T11:24:46.133 に答える
0

これを行うにはいくつかの方法があります。@Logardが提案したようにb1を静的にするか、C1をシングルトンにすることもできます。

public enum C1{
    INSTANCE;

    public boolean b1=false;  

}

public class C2{

    public C2(){
        System.out.println(C1.INSTANCE.b1);
    }

}
于 2012-06-22T11:44:20.510 に答える
-1

C2 で C1 のオブジェクトを作成し、チェックします。

boolean check=new C1().b1

于 2012-06-22T11:30:13.733 に答える