⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 observerdemo.java~1~

📁 java2参考大全上的例子的源码和自己的理解.
💻 JAVA~1~
字号:
package 观测程序;

/**
 这里是一个说明可观测对象的例子。该程序创建了一个叫做Watcher的类,该类实现了
 Observer接口。被监控的类叫做BeingWatched,它扩展了Observable。在BeingWatched里,
 是counter( )方法,该方法仅是从一个指定的值开始递减计数。它使用sleep( )方法在两次计
 数中间等待十分之一秒。每次计数改变时,notifyObservers( )方法被调用,而当前的计数被
 作为参数传递给notifyObservers( )方法。这导致了Watcher中的update( )方法被调用,显示当
 前的计数值。在main( )内,分别调用observing和observed的Watcher和BeingWatched对象被
 创建。然后,observing被增加到对observed的观测程序列表。这意味着每次counter( )调用
 notifyObservers( )方法时,observing.update( )方法将被调用。
 */

/* Demonstrate the Observable class and the
   Observer interface.
 */

import java.util.*;

// This is the observing class.
class Watcher
    implements Observer {
  public void update(Observable obj, Object arg) {
    System.out.println("update() called, count is " +
                       ( (Integer) arg).intValue());
  }
}

// This is the class being observed.
    class BeingWatched
    extends Observable {
  void counter(int period) {
    for (; period >= 0; period--) {
      setChanged();
      notifyObservers(new Integer(period));
      try {
        Thread.sleep(100);
      }
      catch (InterruptedException e) {
        System.out.println("Sleep interrupted");
      }
    }
  }

}

class ObserverDemo {
  public static void main(String args[]) {
    BeingWatched observed = new BeingWatched();
    Watcher observing = new Watcher();

    /* Add the observing to the list of observers for
       observed object.  */
    observed.addObserver(observing);

    observed.counter(10);
  }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -