java - 如何获取java变量的更新值?

标签 java variables object reference

我正在尝试从其他类获取变量的更新值。变量的值正在更新,但仅限于它自己的类。虽然另一个类试图通过引用访问这些值,但仍然获取旧值。假设class1中有一个不断更新的private boolean变量。 而class2通过getter方法访问class1boolean变量,如下所示:

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
            }
        }
    }
}

在这里,我总是在 B 类 中获取 state 变量的原始值,尽管该值在 A 类 中更新。那么,如何从另一个类引用中获取变量的更新值?

EDIT: It's kinda strange but the variables updates when the method is somehow called or refreshed. Like this:

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());后,我们就得到了更新后的值。请解释一下!

最佳答案

您在每次循环迭代时创建 A 的新实例。 只需移动 A a = new A();一队:

class B {
    void go() {
        A a = new A();
        while(true) {
            if(a.getState()) {
                //CODE
            }
        }
    }
}

关于java - 如何获取java变量的更新值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37366485/

相关文章:

java - 编译器错误与类构造函数参数不匹配

java - 如何用 Java 将对象从服务器发送到客户端?

java - 当 jsp 调用(不提交)操作时存储数据

java - 如何在Java中获取错误的行号?

python - 读取文件并将每一行用作变量?

java - final变量是否需要在声明后立即赋值

java - Java 中类的作用

java - 如何计算方法描述符的参数数量?

java - 将图标添加到菜单项

java - 如何将二维数组的一行存储在Java中的变量中?