Java观察者设计模式 代码
时间: 2023-10-11 09:12:01 浏览: 100
Java 中的观察者模式是一种设计模式,它提供了一种方法,使得一个或多个对象可以监听另一个对象的状态改变。当被监听的对象的状态改变时,所有的监听者都会收到通知。
Java 中实现观察者模式通常需要使用两个接口:Observer 和 Observable。Observer 接口代表观察者,它定义了更新方法,在被监听的对象的状态改变时会调用此方法。Observable 接口代表被监听的对象,它维护了一个观察者列表,并定义了添加、删除和通知观察者的方法。
以下是一个简单的 Java 代码示例,演示了如何使用观察者模式:
```
import java.util.Observable;
import java.util.Observer;
// 被监听的对象
class ObservableObject extends Observable {
private int value;
public void setValue(int value) {
this.value = value;
// 标记此对象已经发生了改变
setChanged();
// 通知所有的观察者
notifyObservers();
}
}
// 观察者
class ObserverObject implements Observer {
private ObservableObject observable;
public ObserverObject(ObservableObject observable) {
this.observable = observable;
// 将自己添加到被监听的对象的观察者列表中
observable.addObserver(this);
}
@Override
public void update(Observable o, Object arg) {
// 当被监听的对象发生改变时,此方法会被调用
System.out.println("ObservableObject has changed: "
阅读全文