zoukankan      html  css  js  c++  java
  • java,design pattern,observer

    import java.util.Observable;
    import java.util.Observer;
    
    class ObservedObject extends Observable {
       private String watchedValue;
       
       public ObservedObject(String value) {
          watchedValue = value;
       }
       
       public void setValue(String value) {
          // if value has changed notify observers
          if(!watchedValue.equals(value)) {
             System.out.println("Value changed to new value: "+value);
             watchedValue = value;
             
             // mark as value changed
             setChanged();
             // trigger notification
             notifyObservers();
          }
       }
    }
    public class ObservableDemo implements Observer {
       public String name;
       public ObservableDemo(String name) {
          this.name = name;
       }
       
       public static void main(String[] args) {
          // create watched and watcher objects
          ObservedObject watched = new ObservedObject("Original Value");
          // watcher object listens to object change
          ObservableDemo watcher = new ObservableDemo("Watcher");
    
          // add observer to the watched object
          watched.addObserver(watcher);
          // trigger value change
          watched.setValue("New Value");
       }
       
       public void update(Observable obj, Object arg) {
          System.out.println("Update called");
       }
    }

    Value changed to new value: New Value
    Update called

  • 相关阅读:
    java基础语法
    MySQL5.7常用命令
    wireshark抓包分析---TCP/IP协议
    MySQL安全管理
    MySQL触发器
    MySQL存储过程和游标
    mysql实现远程登录
    Java中遍历Map对象的4种方法
    SSM-CRUD
    SSM整合-配置文件
  • 原文地址:https://www.cnblogs.com/threef/p/3363775.html
Copyright © 2011-2022 走看看