モジュール java.base
パッケージ java.util

クラスObservable

java.lang.Object
java.util.Observable

@Deprecated(since="9") public class Observable extends Object
非推奨。
このクラスとObserverインタフェースは推奨されていません。 ObserverおよびObservableでサポートされるイベント・モデルはかなり制限されており、Observableによって配信される通知の順序は指定されず、状態の変更は通知と1対1の対応ではありません。 より豊富なイベント・モデルの場合は、java.beansパッケージの使用を検討してください。 スレッド間で信頼性の高い順序付きメッセージングを行うには、java.util.concurrentパッケージの同時データ構造のいずれかを使用することを検討してください。 リアクティブ・ストリーム・スタイルのプログラミングについては、Flow APIを参照してください。
このクラスは、Observableオブジェクト、つまりモデル/ビュー・パラダイムの「データ」を表します。 アプリケーションが被監視にするオブジェクトを表すために、このクラスをサブクラス化できます。

Observableオブジェクトは、1つまたは複数のObserverを持つことができます。 オブザーバは、インタフェースObserverを実装する任意のオブジェクトです。 Observableインスタンスは変わると、そのObservablenotifyObserversメソッドを呼び出すアプリケーションは、そのすべてのObserverに対してそれらのupdateメソッドを呼び出すことで変更を通知します。

通知が配信される順序は未指定です。 Observableクラスで提供されるデフォルト実装がObserverに通知する順序は、Observerが登録した重要度に基づきますが、サブクラスは必要に応じてこの順序を変更したり、未保証の順序を使用したり、スレッドごとに通知を配信したり、サブクラスがこの順序に従うことを保証したりできます。

この通知メカニズムはスレッドとは無関係であり、Objectクラスのwaitおよびnotifyメカニズムとは完全に別です。

Observableオブジェクトが新しく作成されたときに、Observerのセットは空です。 2つのオブザーバは、equalsメソッドがtrueを返した場合にのみ同じとみなされます。

導入されたバージョン:
1.0
関連項目: