我有C1级和C2级。C1 有一个公共布尔变量 b1。
b1 的值在 C1 中设置,然后我在 C1 中创建 C2 类的对象。即在C1我有:
b1 = true;
C2 c2 = new C2();
现在在 C2 的构造函数中,我想根据 b1 的值做出决定。如何在 C2 的构造函数中访问 b1 的值(它是 C1 类的变量)?C2 的构造函数不能有任何争论。
谢谢
我有C1级和C2级。C1 有一个公共布尔变量 b1。
b1 的值在 C1 中设置,然后我在 C1 中创建 C2 类的对象。即在C1我有:
b1 = true;
C2 c2 = new C2();
现在在 C2 的构造函数中,我想根据 b1 的值做出决定。如何在 C2 的构造函数中访问 b1 的值(它是 C1 类的变量)?C2 的构造函数不能有任何争论。
谢谢
如果 C2 类被定义为 C1 的内部类,您可以像这样访问它的外部类:
C1.this.b1
有几种方法可以做到这一点。您也可以将 b1 设为静态,@Logard 建议的内容,或者 C1 可以设为单例:
public enum C1{
INSTANCE;
public boolean b1=false;
}
public class C2{
public C2(){
System.out.println(C1.INSTANCE.b1);
}
}
在 C2 中创建 C1 的对象,然后检查。
boolean check=new C1().b1