知识大全 重用java.util.Observable类

Posted 事件

篇首语:和谐、和谐,我会学习噶!本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 重用java.util.Observable类相关的知识,希望对你有一定的参考价值。

重用java.util.Observable类  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  通常你可以完全开发一套自己的Listener/Event(监听器/事件)系统 但是在Java标准库中已经有了现存的通用解决方案 使用它可以节约大量的时间        在Java库中 事件和监听器的使用是很普遍的 这些都只是观察者(Observer)模式的例子 Java Uitl包中提供了一个Observable/Observer对 虽然并不是非常强大 但在很多场合下仍然有用     下面的三个类演示了使用Observer/Observable类的一种方式           import java util *;  public class OEventManager extends Observable   static public void main(String[ ] args)   OEventManager mgr = new OEventManager( );  mgr addObserver( new OListener( ) );  mgr addObserver( new OListener( ) );  mgr addObserver( new OListener( ) );  mgr fireChange( Changed );    public void fireChange(String msg)   setChanged( );  notifyObservers( new OEvent(msg));      class OListener implements Observer   public void update(Observable o Object arg)   System err println( Passed +arg+ by +o+ to +this);        class OEvent extends EventObject   public OEvent(String msg)   super(msg);       一个需要注意的要点是OEvent类把事件消息存储在源中 通常情况下 这儿应该存储的是激发事件的对象 并且事件消息也应该存储在单独的域中 但是这儿这样做是出于简洁的目的     另一个需要注意的是Observable的setChanged方法的使用 如果Observable没有发生变化 它并不通知观察者 相反 它仅简单地忽略对notifyObservers方法的调用     下面是例子程序的输出     Passed OEvent[source=Changed ] by OEventManager@c a to OListener@ b e   Passed OEvent[source=Changed ] by OEventManager@c a to OListener@ cf e  Passed OEvent[source=Changed ] by OEventManager@c a to OListener@ f cd   因为Observer接口强制了update(Observable Object)方法签名(signature) 所以Observer/Observable类并不能替代你自己定义的Event/Listener类 当该接口可以接受时 它们是一个有用的工具    cha138/Article/program/Java/hx/201311/26709

相关参考

知识大全 处理不合适的依赖

  摘要  要判断一个代码是不是包含了不合适的依赖共有四个方法看代码有没有互相依赖?认真想想它真正需要的是什么?推测一下它在以后的系统中可以重用吗?到要重用的时候就知道了现在我要重用这个类能不能重用?

知识大全 软件重用已经死亡

  许多WebLogic项目的软件架构师或项目负责人已经在重用的努力中备受挫折而且死板的CASE工具套件用于开发可重用软件时给许多开发人员留下了坏印象因此究竟是什么改变了从而使得今天软件重用得以可行?

知识大全 log4j--新的日志操作方法

  准备工作  一Tomcat已正确配置与使用  二软件下载logjlogjzip    Logj简介  在强调可重用组件开发的今天除了自己从头到尾开发一个可重用的日志操作类外Apache为我们提供了

知识大全 WCF中通过Dispose有效实现重用

WCF中通过Dispose有效实现重用  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  本文将详细

知识大全 提高Java代码可重用性的措施

提高Java代码可重用性的措施  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  本文介绍了三种修改

知识大全 关于SOA 的五种资产重用最佳实践

关于SOA的五种资产重用最佳实践  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  结合自顶向下和由

知识大全 Oracle9i密码策略--密码重用规则

Oracle9i密码策略--密码重用规则  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  Orac

知识大全 用Dojo和Ajax创建可重用和可重新发布

用Dojo和Ajax创建可重用和可重新发布  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  简介 

知识大全 用Dojo和Ajax创建可重用和可重新发布[3]

用Dojo和Ajax创建可重用和可重新发布[3]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  

知识大全 用Dojo和Ajax创建可重用和可重新发布[4]

用Dojo和Ajax创建可重用和可重新发布[4]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!