Java 如何找到类的任何字段的更改值?
假设我有两个类Java 如何找到类的任何字段的更改值?,java,oop,design-patterns,event-handling,Java,Oop,Design Patterns,Event Handling,假设我有两个类A.java和B.java,在这样的类中有private int A: public class A { private int a; } 我在类B中使用这个类,我想知道这个类,或者在字段intA中附加一个处理程序; 要知道它的值在每个异步调用中都会发生变化。让我再解释一下: public class B { private A aClass; public static void main (String ... args) {
A.java
和B.java
,在这样的类中有private int A
:
public class A {
private int a;
}
我在类B中使用这个类,我想知道这个类,或者在字段intA
中附加一个处理程序;
要知道它的值在每个异步调用中都会发生变化。让我再解释一下:
public class B {
private A aClass;
public static void main (String ... args) {
aClass = new A(); // now the int a; is changed how do I know this
// user may call many asynchronous method in class A and I want to know
// the changing value of int a; from A class in B class
}
}
我应该使用哪种设计模式?你们提供什么解决方案
提前感谢,肺门 B注册自己为A的观察者。A是主体,B是观察者
每当“a”改变时,a notify()将成为所有注册的观察者。您可以将类a转换为a,并添加对PropertyListener的支持。 但是,首先必须向A()实例注册一个 在a中添加B对象,然后调用B的方法
public class A {
private int a;
private B observer;
void setA(int i) {
a = i;
observer.notify();
}
void registerObserver(B b) {
observer = b;
}
}