- java.lang.Object
-
- java.util.Observable
-
已过时。此类和Observer接口已被弃用。Observer和Observable支持的事件模式是非常有限的,Observable发送的通知顺序是未指定的,状态更改不与通知一一对应。 对于更丰富的事件模型,请考虑使用java.beans软件包。 对于线程之间的可靠和有序的消息传递,请考虑使用java.util.concurrent包中的并发数据结构之一。 对于反应流样式编程,请参阅FlowAPI。
@Deprecated(since="9") public class Observable extends Object
此类表示可观察对象或模型视图范例中的“数据”。 它可以被子类化以表示应用程序想要观察到的对象。可观察对象可以有一个或多个观察者。 观察者可以是实现接口
Observer任何对象。 在可观察到的实例发生变化之后,调用Observable的notifyObservers方法的应用程序会使其所有观察者通过调用其update方法通知更改。通知的发送顺序是未指定的。 Observable类中提供的默认实现将以注册感兴趣的顺序通知Observers,但子类可能会更改此顺序,不使用保证的顺序,在单独的线程上发送通知,或者可以保证其子类遵循此顺序,因为它们选择。
请注意,此通知机制无关,与线程,是从完全独立
wait和notify类的机制Object。当新创建一个可观察对象时,其观察者集合为空。 当且仅当
equals方法为它们返回true时,两个观察者被认为是相同的。
-
-
构造方法摘要
构造方法 Constructor 描述 Observable()已过时。用零观察者构建可观测值。
-
方法摘要
所有方法 接口方法 具体的方法 弃用的方法 Modifier and Type 方法 描述 voidaddObserver(Observer o)已过时。将一个观察者添加到该对象的观察者组中,前提是它与集合中已有的一些观察者不一样。protected voidclearChanged()已过时。表示此对象已不再更改,或已经通知其所有观察者其最近更改,因此hasChanged方法现在将返回false。intcountObservers()已过时。返回此Observable对象的观察者数。voiddeleteObserver(Observer o)已过时。从该对象的观察者组中删除观察者。voiddeleteObservers()已过时。清除观察者列表,使此对象不再有任何观察者。booleanhasChanged()已过时。测试此对象是否已更改。voidnotifyObservers()已过时。如果此对象已更改,如hasChanged方法所示,然后通知所有其观察者,然后调用clearChanged方法来指示此对象已不再更改。voidnotifyObservers(Object arg)已过时。如果此对象已更改,如hasChanged方法所示,则通知其所有观察者,然后调用clearChanged方法来指示此对象已不再更改。protected voidsetChanged()已过时。将此Observable对象标记为已更改;hasChanged方法现在将返回true。
-
-
-
方法详细信息
-
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- 任何对象。 - 另请参见:
-
clearChanged(),hasChanged(),Observer.update(java.util.Observable, java.lang.Object)
-
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否则。 - 另请参见:
-
clearChanged(),setChanged()
-
countObservers
public int countObservers()
已过时。返回此Observable对象的观察者数。- 结果
- the number of observers of this object.
-
-