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

  • 相关阅读:
    UICollectionView添加 HeaderView FooterView
    Swift-UIDynamic初见
    Swift归档
    通知NSNotication&通知中心NSNoticationCenter
    iOS沙盒
    lldb-320.4.152﹣Debugger commands:
    UIPickerView採摘控件的學習
    hive的优化
    zookeeper简易配置及hadoop高可用安装
    hadoop组件概念理解
  • 原文地址:https://www.cnblogs.com/threef/p/3363775.html
Copyright © 2011-2022 走看看