java实现观测者模式
2016-04-05 11:34
323 查看
public class Customer extends AbstractCustomer{ private String name; private Subject subject; Customer(String name, Subject Subject){ this.name = name; this.subject = Subject; } @Override public void update() { System.out.println(subject.getStatus() + name); } }public abstract class AbstractCustomer { public abstract void update(); } public class Customer extends AbstractCustomer{ private String name; private Subject subject; Customer(String name, Subject Subject){ this.name = name; this.subject = Subject; } @Override public void update() { System.out.println(subject.getStatus() + name); } }public class Subject extends AbstractSubject { private String status = "closed"; public Subject(String s){ setStatus(s); } public String getStatus(){ return status; } public void setStatus(String s){ this.status = s; } }public class TestObserver { public static void main(String[] args){ Subject subject = new Subject("tem"); Customer customerA = new Customer("A", subject); Customer customerB = new Customer("B", subject); subject.addCustomer(customerA); subject.addCustomer(customerB); subject.notifyCustomer(); subject.setStatus("hello"); subject.notifyCustomer(); } }
相关文章推荐
- Java并发编程:Callable、Future和FutureTask 获取返回值
- spring+struts
- Java学习·设计模式
- (三)velocity--springmvc整合velocity
- Java的接口和抽象类
- eclipse手动设置jdk路径
- javaweb上传文件过程中关于指针定位的问题
- ubuntu 下 eclipse Ctrl+Alt+Down 不工作
- java web表单提交ajax参数封装方法
- java设计模式之——代理模式
- JavaSe基础(23)-- 基本数据类型的包装类
- JAVA-OOM
- 大数运算之加法乘法---JAVA实现
- 关于JAVA项目中CLASSPATH路径详解
- LongCache机制与Long等值比较
- Java 8新特性-2 接口定义增强
- java基础
- struts2中拦截器的原理与配置
- CXF和spring整合实现webservice实例
- 如何在eclipse jee中创建Maven project并且转换为Dynamic web project