package com.lxh.observer;
import java.util.Observable;
/**
* 被观察者
*/
public class Model extends Observable {
// 被观察者改变
public void change(){
System.out.println("Model has been changed...");
// 对象改变,不设置不会触发notifyObservers()方法
setChanged();
// 通知监控者
notifyObservers();
}
}
2. Viewer.java -----------------------------------------观察者
package com.lxh.observer;
import java.util.Observable;
import java.util.Observer;
/**
* 观察者
*/
public class Viewer implements Observer {
//
@Override
public void update(Observable o, Object arg) {
System.out.println("copy that you had been changed ...");
}
}
3. Test.java -----------------------------------------简单测试
package com.lxh.observer;
public class Test {
public static void main(String[] args) {
// 初始化对象
Model m = new Model();
Viewer v = new Viewer();
// 被观察者绑定观察者
m.addObserver(v);
// 被观察者改变
m.change();
}
}
4. 运行结果
5. 实际应用
配置文件的改变。