java.lang.Object
java.util.Observable
Deprecated.
这个类表示模型-视图范式中的可观察对象或“数据”。它可以被子类化以表示应用程序希望被观察的对象。
可观察对象可以有一个或多个观察者。观察者可以是实现接口Observer
的任何对象。在可观察实例发生更改后,调用Observable
的notifyObservers
方法的应用程序会通过调用它们的update
方法通知所有观察者更改。
通知将以未指定的顺序传递。Observable类中提供的默认实现将按照注册兴趣的顺序通知观察者,但子类可以更改此顺序,不使用保证的顺序,将通知传递到单独的线程上,或者可以保证其子类遵循此顺序,视情况而定。
请注意,此通知机制与线程无关,与Object
类的wait
和notify
机制完全分开。
当可观察对象新创建时,其观察者集合为空。仅当equals
方法对它们返回true时,两个观察者才被视为相同。
- 自从:
- 1.0
- 另请参阅:
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
已弃用。将观察者添加到此对象的观察者集合中,前提是它与集合中已有的某个观察者不相同。protected void
已弃用。表示此对象不再更改,或者它已经通知所有观察者其最近的更改,因此hasChanged
方法现在将返回false
。int
已弃用。返回此Observable
对象的观察者数量。void
已弃用。从此对象的观察者集合中删除一个观察者。void
已弃用。清除观察者列表,使此对象不再具有任何观察者。boolean
已弃用。测试此对象是否已更改。void
已弃用。如果此对象已更改,如hasChanged
方法所示,则通知其所有观察者,然后调用clearChanged
方法指示此对象不再更改。void
notifyObservers
(Object arg) 已弃用。如果此对象已更改,如hasChanged
方法所示,则通知其所有观察者,然后调用clearChanged
方法指示此对象不再更改。protected void
已弃用。将此Observable
对象标记为已更改;hasChanged
方法现在将返回true
。
-
Constructor Details
-
Observable
public Observable()Deprecated.构造一个具有零个观察者的Observable。
-
-
Method Details
-
addObserver
Deprecated.将观察者添加到此对象的观察者集合中,前提是它与集合中已有的某个观察者不相同。不指定将通知多个观察者的顺序。请参阅类注释。- 参数:
-
o
- 要添加的观察者。 - 抛出:
-
NullPointerException
- 如果参数o为null。
-
deleteObserver
Deprecated.从此对象的观察者集合中删除一个观察者。将null
传递给此方法将不会产生任何效果。- 参数:
-
o
- 要删除的观察者。
-
notifyObservers
public void notifyObservers()Deprecated.如果此对象已更改,如hasChanged
方法所示,则通知其所有观察者,然后调用clearChanged
方法指示此对象不再更改。每个观察者的
update
方法都将使用两个参数调用:此可观察对象和null
。换句话说,此方法等效于:notifyObservers(null)
- 另请参阅:
-
notifyObservers
Deprecated.如果此对象已更改,如hasChanged
方法所示,则通知其所有观察者,然后调用clearChanged
方法指示此对象不再更改。每个观察者的
update
方法都将使用两个参数调用:此可观察对象和arg
参数。- 参数:
-
arg
- 任何对象。 - 另请参阅:
-
deleteObservers
public void deleteObservers()Deprecated.清除观察者列表,使此对象不再具有任何观察者。 -
setChanged
protected void setChanged()Deprecated.将此Observable
对象标记为已更改;hasChanged
方法现在将返回true
。 -
clearChanged
protected void clearChanged()Deprecated.表示此对象不再更改,或者它已经通知所有观察者其最近的更改,因此hasChanged
方法现在将返回false
。此方法将由notifyObservers
方法自动调用。- 另请参阅:
-
hasChanged
public boolean hasChanged()Deprecated.测试此对象是否已更改。- 返回:
-
如果
setChanged
方法在此对象上的调用比clearChanged
方法更近,则返回true
;否则返回false
。 - 另请参阅:
-
countObservers
public int countObservers()Deprecated.返回此Observable
对象的观察者数量。- 返回:
- 此对象的观察者数量。
-
Observer
interface have been deprecated. The event model supported byObserver
andObservable
is quite limited, the order of notifications delivered byObservable
is unspecified, and state changes are not in one-for-one correspondence with notifications. For a richer event model, consider using thejava.beans
package. For reliable and ordered messaging among threads, consider using one of the concurrent data structures in thejava.util.concurrent
package. For reactive streams style programming, see theFlow
API.