java有一个要修改的变量并在其他类中使用

时间:2017-01-22 17:22:12

标签: java

我想在所有其他类中使用一个变量。我可以在一个类中修改该变量,并在其他类中使用该新值。

class A{
boolean val = false;
}

class B{
val = true;
}

class C{
   if(val){
   //do something
   }
}

1 个答案:

答案 0 :(得分:0)

在Java中,您可以在不影响封装需求的情况下实现您的目标。在具有变量的类中创建getter和setter,并使用这些getter和setter在其他类中访问该变量。

class A{
private boolean val = false; // private modifier needed for encapsulation
public void setVal(boolean val){
    this.val = val
}
public boolean isVal(){
    return val;
}
}

class B{
    //val = true; instead of this, try this------>
    new A().setValue(true); // use setter to set the value.
}

class C{
   if(new A().isVal()){ //use getter here to get the value
   //do something
   }
}

避免在其他类中直接使用变量的原因是,您的变量总是有可能被修改为不合适。通过使用getter和setter,您可以完全控制变量,并对其进行操作,以便不会输入任何不需要的值。