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

  • 相关阅读:
    linux ss 命令
    linux netstat 命令
    linux firewalld 命令
    linux sshd 服务
    linux rysnc 命令(远程复制)
    linux scp 命令
    linux ifconfig
    linux /var/log 日志文件
    linux systemctrl 命令
    linux 创建新用户并设置管理员权限
  • 原文地址:https://www.cnblogs.com/threef/p/3363775.html
Copyright © 2011-2022 走看看