嗨,我有一个要求,我需要即时选择 is4cselected true 的值。
public class A {
boolean is4cselected=false;
public A(){
//
//
}
public void set4c(){
is4cselected=true;
}
}
class B{
public static void main(String args[]){
A a=new A();
a.set4c();
}
}
我不认为它会发生,因为我们必须首先创建 A 类的对象。
有没有其他方法可以实现这一目标?我的意思是说我需要 is4cselect 在某些 if 情况下为假,在 main() 中的某些 if-else 条件下为真。提前致谢
对类本身的变量使用 static 关键字
如果 is4cselected 与类 A 的所有关联,而不仅仅是类 A 的特定实例,那么您可以使用静态成员(换句话说,如果只有 1 个is4cselected
,则在所有A
之间共享);
public class A {
static boolean is4cselected=false;
......
然后你可以像往常一样将其称为 A.is4cselected,使用 private
、 public
等
或者,如果它与特定实例相关联,则只需在构造函数中传递它
使用构造函数初始化类的实例
public class A {
boolean is4cselected;
public A(boolean is4cselected){
this.is4cselected=is4cselected;
}
......
您将像这样创建类 A;
A a=new A(true);
您可以添加一个构造函数,该构造函数为该字段获取布尔值,并在要创建具有默认值以外的值的类实例时调用该构造函数:
public A(boolean is4cselected){
this.is4cselected = is4cselected
}
然后:
public static void main(String args[]){
A a = new A(true);
}
在拥有实例之前,您无法更改实例成员 ( is4cselected
) 的值。
您可以添加一个构造函数,该构造函数允许您在 A
外部的任何内容访问实例之前设置该值:
public A(boolean sel) {
is4cselected = sel;
}
。您将在这样的B
中使用:
A a = new A(true);
或者你可以为它添加一个工厂函数:
public static A buildWithFlagSet() {
A rv = new A();
rv.set4c();
return rv;
}
。您将在这样的B
中使用:
A a = A.buildWithFlagSet();
public class A {
boolean is4cselected=false;
public A(is4cselected){
this.is4cselected = is4cselected;
}
public void set4c(){
is4cselected=true;
}
}
class B{
public static void main(String args[]){
A a=new A(true);
}
}
是:
看@静态{}我添加到你的代码中
public class A {
static{
boolean is4cselected=false;
}
public A(){
//
//
}
public void set4c(){
is4cselected=true;
}
}
class B{
public static void main(String args[]){
A a=new A();
a.set4c();
}
}