package org.observerdemo;
import java.util.Observer;
import java.util.Observable;
public class Person implements Observer {
public void update(Observable o,Object arg){
System.out.println(o+"价格发生变化"+arg);
}
}
package org.observerdemo;
import java.util.Observable;
public class House extends Observable{
private float price;
public House(){
}
public void setPrice(float p){
super.setChanged(); // 通知内容已经可以被修改
this.price = p;
super.notifyObservers(p); //通知所有的观察者已经改变
}
public String toString(){
return "房子";
}
public float getPrice(){
return this.price;
}
}
package org.observerdemo;
public class ObserverDemo {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
House h = new House();
h.setPrice(6000.0f);
Person p1 = new Person();
Person p2 = new Person();
Person p3 = new Person();
h.addObserver(p1); //增加一个观察者
h.addObserver(p2); //增加二个观察者
h.addObserver(p3); //增加三个观察者
h.setPrice(6000.0f); //要通知观察者内容已经被改变了
}
}