java.lang.Object
java.util.Observable
已弃用。
此类表示模型视图范例中的可观察对象或“数据”。它可以被子类化以表示应用程序想要观察的对象。
一个可观察对象可以有一个或多个观察者。观察者可以是实现接口 Observer 的任何对象。在一个可观察的实例发生变化后,调用 Observable 的 notifyObservers 方法的应用程序会导致其所有观察者通过调用其 update 方法来通知该变化。
未指定通知的发送顺序。 Observable 类中提供的默认实现将按照观察者注册兴趣的顺序通知观察者,但子类可能会更改此顺序,不使用保证顺序,在单独的线程上传递通知,或者可能保证其子类遵循此顺序,因为它们选择。
请注意,此通知机制与线程无关,并且完全独立于类Object 的wait 和notify 机制。
当新创建一个可观察对象时,它的观察者集合是空的。当且仅当 equals 方法为他们返回 true 时,两个观察者才被认为是相同的。
- 自从:
- 1.0
- 参见:
-
构造方法总结
构造方法 -
方法总结
修饰符和类型方法描述void已弃用。将一个观察者添加到此对象的观察者集合中,前提是它与集合中已有的某个观察者不同。protected void已弃用。表示此对象不再更改,或者它已将其最近的更改通知所有观察者,因此hasChanged方法现在将返回false。int已弃用。返回此Observable对象的观察者数量。void已弃用。从此对象的观察者集中删除一个观察者。void已弃用。清除观察者列表,使该对象不再有任何观察者。boolean已弃用。测试此对象是否已更改。void已弃用。如果这个对象已经改变,如hasChanged方法所指示的,那么通知它的所有观察者,然后调用clearChanged方法来指示这个对象不再改变。voidnotifyObservers(Object arg) 已弃用。如果这个对象已经改变,如hasChanged方法所指示的,那么通知它的所有观察者,然后调用clearChanged方法来指示这个对象不再改变。protected void已弃用。将此Observable对象标记为已更改;hasChanged方法现在将返回true。
-
构造方法详细信息
-
Observable
public Observable()已弃用。构造一个零观察者的 Observable。
-
-
方法详情
-
addObserver
已弃用。将一个观察者添加到此对象的观察者集合中,前提是它与集合中已有的某个观察者不同。未指定将通知传递给多个观察者的顺序。见课堂评论。- 参数:
o- 要添加的观察者。- 抛出:
NullPointerException- 如果参数 o 为空。
-
deleteObserver
已弃用。从此对象的观察者集中删除一个观察者。将null传递给此方法将无效。- 参数:
o- 要删除的观察者。
-
notifyObservers
public void notifyObservers()已弃用。如果这个对象已经改变,如hasChanged方法所指示的,那么通知它的所有观察者,然后调用clearChanged方法来指示这个对象不再改变。每个观察者都有其
update方法,使用两个参数调用:这个可观察对象和null。换句话说,这个方法等价于:notifyObservers(null)- 参见:
-
notifyObservers
已弃用。如果这个对象已经改变,如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对象的观察者数量。- 返回:
- 该对象的观察者数量。
-
Observer接口已被弃用。Observer和Observable支持的事件模型非常有限,Observable传递的通知顺序未指定,状态变化与通知不是一一对应的。对于更丰富的事件模型,请考虑使用java.beans包。对于线程间可靠且有序的消息传递,请考虑使用java.util.concurrent包中的一种并发数据结构。对于反应流式编程,请参阅FlowAPI。