我有C1级和C2级。 C1有一个公共布尔变量b1。
b1的值在C1中设置,然后在C1中创建C2类的对象。 即在C1我有:
b1 = true;
C2 c2 = new C2();
现在在C2的构造函数中,我想根据b1的值做出决定。 如何在C2的构造函数中访问b1(它是C1类的变量)的值? C2的构造函数不能有任何争论。
谢谢
答案 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