java.lang.Object
java.util.Observable
Deprecated.
这个类表示模型-视图范式中的可观察对象或“数据”。它可以被子类化以表示应用程序希望被观察的对象。
可观察对象可以有一个或多个观察者。观察者可以是实现接口Observer的任何对象。在可观察实例发生更改后,调用Observable的notifyObservers方法的应用程序会通过调用它们的update方法通知所有观察者更改。
通知将以未指定的顺序传递。Observable类中提供的默认实现将按照注册兴趣的顺序通知观察者,但子类可以更改此顺序,不使用保证的顺序,将通知传递到单独的线程上,或者可以保证其子类遵循此顺序,视情况而定。
请注意,此通知机制与线程无关,与Object类的wait和notify机制完全分开。
当可观察对象新创建时,其观察者集合为空。仅当equals方法对它们返回true时,两个观察者才被视为相同。
- 自从:
- 1.0
- 另请参阅:
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid已弃用。将观察者添加到此对象的观察者集合中,前提是它与集合中已有的某个观察者不相同。protected void已弃用。表示此对象不再更改,或者它已经通知所有观察者其最近的更改,因此hasChanged方法现在将返回false。int已弃用。返回此Observable对象的观察者数量。void已弃用。从此对象的观察者集合中删除一个观察者。void已弃用。清除观察者列表,使此对象不再具有任何观察者。boolean已弃用。测试此对象是否已更改。void已弃用。如果此对象已更改,如hasChanged方法所示,则通知其所有观察者,然后调用clearChanged方法指示此对象不再更改。voidnotifyObservers(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对象的观察者数量。- 返回:
- 此对象的观察者数量。
-
Observerinterface have been deprecated. The event model supported byObserverandObservableis quite limited, the order of notifications delivered byObservableis unspecified, and state changes are not in one-for-one correspondence with notifications. For a richer event model, consider using thejava.beanspackage. For reliable and ordered messaging among threads, consider using one of the concurrent data structures in thejava.util.concurrentpackage. For reactive streams style programming, see theFlowAPI.