我试图从其他类获取变量的更新值。变量的值正在更新,但仅适用于它自己的类。而另一个试图通过引用访问值的类仍然是旧值。假设private boolean
中有一个class1
变量,它继续更新。
虽然class2
通过boolean
访问了class1
getter method
变量,但是这样的话:
CLASS 1 CODE:
class A {
private boolean state;
boolean getState() {
return state;
}
}
此处变量state
的值继续按ActionEvent
CLASS 2 CODE:
class B {
void go() {
A a = new A();
while(true) {
if(a.getState()) {
//CODE
}
}
}
}
在此,我始终在state
中获取class B
变量的原始值,尽管该值正在class A
中更新。那么,如何从另一个类引用中获取变量的更新值?
编辑: 它有点奇怪但是当方法以某种方式调用或刷新时变量会更新。像这样:
CLASS 2 CODE:
class B {
void go() {
A a = new A();
while(true) {
System.out.println(a.getState());
if(a.getState()) {
//CODE
}
}
}
}
在添加System.out.println(a.getState());
之后,我们将获得更新后的值。请解释一下!
答案 0 :(得分:2)
在每次循环迭代中创建一个新的A实例。 只需移动A a = new A();一行:
class B {
void go() {
A a = new A();
while(true) {
if(a.getState()) {
//CODE
}
}
}
}
答案 1 :(得分:0)
你可以在任何你需要的类中使用你的bollean来使它静止
CLASS 1 CODE:
class A {
private boolean state;
public static boolean getState() {
return state;
}
}
和第二课
CLASS 2 CODE:
class B {
void go() {
while(true) {
if(A.getState == //true or false//) {
//CODE
}
}
}
}