在构造函数中访问另一个类的公共变量

时间:2012-06-22 11:21:25

标签: java

我有C1级和C2级。 C1有一个公共布尔变量b1。

b1的值在C1中设置,然后在C1中创建C2类的对象。 即在C1我有:

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

现在在C2的构造函数中,我想根据b1的值做出决定。 如何在C2的构造函数中访问b1(它是C1类的变量)的值? C2的构造函数不能有任何争论。

谢谢

3 个答案:

答案 0 :(得分:3)

如果C2类被定义为C1的内部类,则可以像这样访问其外部类:

C1.this.b1

答案 1 :(得分:0)

有几种方法可以做到这一点。您也可以将b1设为静态,@ LOGard建议使用,或者将C1设置为Singleton:

public enum C1{
    INSTANCE;

    public boolean b1=false;  

}

public class C2{

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

}

答案 2 :(得分:-1)

在C2中创建C1的对象,然后检查。

boolean check=new C1().b1