模块 java.base
 java.util

类 Observable

java.lang.Object
java.util.Observable

@Deprecated (since ="9") public class Observable extends Object
已弃用。
此类和 Observer 接口已被弃用。 ObserverObservable 支持的事件模型非常有限,Observable 传递的通知顺序未指定,状态变化与通知不是一一对应的。对于更丰富的事件模型,请考虑使用 java.beans 包。对于线程间可靠且有序的消息传递,请考虑使用 java.util.concurrent 包中的一种并发数据结构。对于反应流式编程,请参阅 Flow API。
此类表示模型视图范例中的可观察对象或“数据”。它可以被子类化以表示应用程序想要观察的对象。

一个可观察对象可以有一个或多个观察者。观察者可以是实现接口 Observer 的任何对象。在一个可观察的实例发生变化后,调用 ObservablenotifyObservers 方法的应用程序会导致其所有观察者通过调用其 update 方法来通知该变化。

未指定通知的发送顺序。 Observable 类中提供的默认实现将按照观察者注册兴趣的顺序通知观察者,但子类可能会更改此顺序,不使用保证顺序,在单独的线程上传递通知,或者可能保证其子类遵循此顺序,因为它们选择。

请注意,此通知机制与线程无关,并且完全独立于类Objectwaitnotify 机制。

当新创建一个可观察对象时,它的观察者集合是空的。当且仅当 equals 方法为他们返回 true 时,两个观察者才被认为是相同的。

自从:
1.0
参见:
  • 构造方法总结

    构造方法
    构造方法
    描述
    已弃用。
    构造一个零观察者的 Observable。
  • 方法总结

    修饰符和类型
    方法
    描述
    void
    已弃用。
    将一个观察者添加到此对象的观察者集合中,前提是它与集合中已有的某个观察者不同。
    protected void
    已弃用。
    表示此对象不再更改,或者它已将其最近的更改通知所有观察者,因此 hasChanged 方法现在将返回 false
    int
    已弃用。
    返回此 Observable 对象的观察者数量。
    void
    已弃用。
    从此对象的观察者集中删除一个观察者。
    void
    已弃用。
    清除观察者列表,使该对象不再有任何观察者。
    boolean
    已弃用。
    测试此对象是否已更改。
    void
    已弃用。
    如果这个对象已经改变,如hasChanged方法所指示的,那么通知它的所有观察者,然后调用clearChanged方法来指示这个对象不再改变。
    void
    已弃用。
    如果这个对象已经改变,如hasChanged方法所指示的,那么通知它的所有观察者,然后调用clearChanged方法来指示这个对象不再改变。
    protected void
    已弃用。
    将此 Observable 对象标记为已更改; hasChanged 方法现在将返回 true

    在类 java.lang.Object 中声明的方法

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • 构造方法详细信息

    • Observable

      public Observable()
      已弃用。
      构造一个零观察者的 Observable。
  • 方法详情

    • addObserver

      public void addObserver(Observer  o)
      已弃用。
      将一个观察者添加到此对象的观察者集合中,前提是它与集合中已有的某个观察者不同。未指定将通知传递给多个观察者的顺序。见课堂评论。
      参数:
      o - 要添加的观察者。
      抛出:
      NullPointerException - 如果参数 o 为空。
    • deleteObserver

      public void deleteObserver(Observer  o)
      已弃用。
      从此对象的观察者集中删除一个观察者。将 null 传递给此方法将无效。
      参数:
      o - 要删除的观察者。
    • notifyObservers

      public void notifyObservers()
      已弃用。
      如果这个对象已经改变,如hasChanged方法所指示的,那么通知它的所有观察者,然后调用clearChanged方法来指示这个对象不再改变。

      每个观察者都有其 update 方法,使用两个参数调用:这个可观察对象和 null 。换句话说,这个方法等价于:

      notifyObservers(null)
      参见:
    • notifyObservers

      public void notifyObservers(Object  arg)
      已弃用。
      如果这个对象已经改变,如hasChanged方法所指示的,那么通知它的所有观察者,然后调用clearChanged方法来指示这个对象不再改变。

      每个观察者都有自己的 update 方法,使用两个参数调用:这个可观察对象和 arg 参数。

      参数:
      arg - 任何对象。
      参见:
    • deleteObservers

      public void deleteObservers()
      已弃用。
      清除观察者列表,使该对象不再有任何观察者。
    • setChanged

      protected void setChanged()
      已弃用。
      将此 Observable 对象标记为已更改; hasChanged 方法现在将返回 true
    • clearChanged

      protected void clearChanged()
      已弃用。
      表示此对象不再更改,或者它已将其最近的更改通知所有观察者,因此 hasChanged 方法现在将返回 false 。此方法由 notifyObservers 方法自动调用。
      参见:
    • hasChanged

      public boolean hasChanged()
      已弃用。
      测试此对象是否已更改。
      返回:
      true 当且仅当 setChanged 方法比此对象上的 clearChanged 方法最近被调用; false否则。
      参见:
    • countObservers

      public int countObservers()
      已弃用。
      返回此 Observable 对象的观察者数量。
      返回:
      该对象的观察者数量。