Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/333.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java有一个要修改的变量并在其他类中使用_Java - Fatal编程技术网

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

java有一个要修改的变量并在其他类中使用,java,Java,我想在所有其他类中使用一个变量。我可以在一个类中修改该变量,并在另一个类中使用该新值 class A{ boolean val = false; } class B{ val = true; } class C{ if(val){ //do something } } 在Java中,您可以在不影响封装需求的情况下实现所需的功能。在具有varaiable的类中创建getter和setter,并使用这些getter和setter在其他类中访问该变量 class A{ priv

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

class A{
boolean val = false;
}

class B{
val = true;
}

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

在Java中,您可以在不影响封装需求的情况下实现所需的功能。在具有varaiable的类中创建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,您可以完全控制变量,并对其进行操作,以避免输入任何不需要的值。

不要这样做。您应该在
A
类中创建方法,然后调用这些方法来修改变量。要访问这些方法,您需要使用
aa=newa()创建类型为
A
的对象
。请参见此处的问题:使用static variable@David sam您可以在需要时声明变量
static
,并使用
A.val
访问它。这是考虑到您希望在不同的类中具有相同的值。否则,请尝试@marstran-way您的问题包含无效代码,这意味着您尚未花时间了解Java语法。请看一个教程,这里有一些很短的视频可以帮助你开始学习这项技术。没有任何背景,你会有很多困难和挫折。