java实现观察者模式
2016-03-10 17:36
357 查看
本文是针对房价变动的观察者模式实现,使用java写了一个简单的demo,直接上代码
package observer; import java.util.Observable; import java.util.Observer; class House extends Observable{ private float price; public House(float price){ this.price = price; } public float getPrice() { return price; } public void setPrice(float price) { super.setChanged(); //设置变化点 super.notifyObservers(price); //通知所有观察者价格改变 this.price = price; } public String toString(){ return "房子价格为:" + this.price; } } class HousePriceObserver implements Observer{ private String name; public HousePriceObserver(String name){ this.name = name; } @Override public void update(Observable o, Object arg) { // TODO Auto-generated method stub if(arg instanceof Float){ System.out.print(this.name + "观察到价格更改为: "); System.out.println(((Float) arg).floatValue()); } } } public class ObserDemo { public static void main(String[] args) { House h = new House(1000000); HousePriceObserver hpo1 = new HousePriceObserver("购房者A"); HousePriceObserver hpo2 = new HousePriceObserver("购房者B"); HousePriceObserver hpo3 = new HousePriceObserver("购房者C"); h.addObserver(hpo1); h.addObserver(hpo2); h.addObserver(hpo3); System.out.println(h); h.setPrice(666666); System.out.println(h); } }
相关文章推荐
- Java多线程UDP客户端与服务器间使用Socket通信
- Java 交换两个变量值
- Spring 注解学习手札(八)补遗——@ExceptionHandler
- 第七届蓝桥杯部分练习题答案(Java)
- 【J2EE】:Java EE应用的组件
- Myeclipse离线安装svn插件
- Zookeeper的集群配置和Java测试程序
- JAVA高级程序设计学习计划
- springbooot之freemarker
- ROS使用IDE Eclipse
- java.util.concurrent包 (备忘)
- java 内存溢出的 解决方法!~
- ecplise建java工程有红色叹号
- Spring Hibernate Transaction示例
- Java概述和开发环境
- Spring、Spring MVC、MyBatis整合文件配置详解
- java解压zip文件实例
- Java SE技术概览 - Jave SE Platform at a Glance
- java四种内部类
- 如何设置Eclipse使用JDK