import java.util.Observable; import java.util.Observer; public class Hello{ public static void main(String args[]){ House house = new House(57233.00); Member m1 = new Member("王老板"); Member m2 = new Member("李老板"); Member m3 = new Member("田老板"); house.addObserver(m1); house.addObserver(m2); house.addObserver(m3); house.setPrice(800000); } } class House extends Observable{ private double price; public House(double price){ this.price = price; } public void setPrice(double price){ if(price>this.price){ super.setChanged(); super.notifyObservers(price); } this.price = price; } } class Member implements Observer{ private String name; public Member(String name){ this.name = name; } @Override public void update(Observable o, Object arg) { // TODO Auto-generated method stub if(o instanceof House){ if(arg instanceof Double){ double newPrice = (Double) arg; System.out.println("房价上涨:" + newPrice + "," + this.name + "开始卖房。"); } } } }