Subject:
import java.util.Observable;
public class SimpleSubject extends Observable{
private SimpleObserver observer = null;
private String state = null;
SimpleSubject(){
observer = new SimpleObserver();
this.addObserver(observer);
System.out.println("Subject initialed ok");
}
public String getState(){
return state;
}
public void setState(String s){
this.state = s;
this.setChanged();
this.notifyObservers();
}
}
Observer:
import java.util.Observable;
public class SimpleObserver implements java.util.Observer{
public void update(Observable o, Object arg){
System.out.println("Subject changed....");
}
}
main:
public class Test {
public static void main(String[] args) {
SimpleSubject ss = new SimpleSubject();
ss.setState("new state get");
}
}
Notion: Don't forget to use setChanged when some fields changes, and use notifyObservers when some events happen.
本文介绍了一个简单的Java观察者模式实现案例。该案例通过`SimpleSubject`类和`SimpleObserver`类展示了如何在状态改变时通知观察者。`SimpleSubject`继承自`java.util.Observable`,并实现了状态更新与观察者的通知逻辑。
1178

被折叠的 条评论
为什么被折叠?



