Spec-Zone.ru › OpenJDK 24

Класс Observable

java.lang.Object
java.util.Observable
@Deprecated(since="9") public class Observable extends Object
Устарело.
Этот класс и интерфейс Observer устарели. Модель событий, поддерживаемая Observer и Observable, достаточно ограничена, порядок уведомлений, доставляемых Observable, не определён, а изменения состояния не соответствуют уведомлениям один к одному. Для более богатой модели событий рассмотрите использование пакета java.beans. Для надёжной и упорядоченной передачи сообщений между потоками рассмотрите использование одного из конкурентных структур данных в пакете java.util.concurrent. Для программирования в стиле реактивных потоков см. API Flow.
Этот класс представляет собой наблюдаемый объект или "данные" в парадигме модели-представления. Он может быть расширен для представления объекта, который приложение хочет наблюдать.

Наблюдаемый объект может иметь одного или более наблюдателей. Наблюдатель может быть любым объектом, реализующим интерфейс Observer. После изменения экземпляра наблюдаемого объекта, приложение, вызывающее метод Observable's notifyObservers, уведомляет всех своих наблюдателей об изменении, вызвав их метод update.

Порядок доставки уведомлений не определён. По умолчанию, реализация, предоставленная в классе Observable, уведомляет наблюдателей в порядке их регистрации, но подклассы могут изменить этот порядок, использовать произвольный порядок, доставлять уведомления в отдельных потоках или гарантировать, что их подкласс следует этому порядку по своему выбору.

Обратите внимание, что этот механизм уведомлений не имеет отношения к потокам и полностью отделён от механизма wait и notify класса Object.

При создании нового наблюдаемого объекта набор его наблюдателей пустой. Два наблюдателя считаются одинаковыми тогда и только тогда, когда метод equals возвращает true для них.

Since:
1.0
См. также:
  • notifyObservers()
  • notifyObservers(java.lang.Object)
  • Observer
  • Observer.update(java.util.Observable, java.lang.Object)

Краткое описание конструкторов

Конструктор Описание
Observable()
Устарело.
Создаёт наблюдаемый объект без наблюдателей.

Краткое описание методов

Модификатор и тип Метод Описание
void addObserver(Observer o)
Устарело.
Добавляет наблюдателя в набор наблюдателей для этого объекта, при условии, что он не идентичен уже существующему наблюдателю.
protected void clearChanged()
Устарело.
Указывает, что этот объект больше не изменился или уже уведомил всех своих наблюдателей о последнем изменении, так что метод hasChanged теперь вернёт false.
int countObservers()
Устарело.
Возвращает количество наблюдателей этого объекта Observable.
void deleteObserver(Observer o)
Устарело.
Удаляет наблюдателя из набора наблюдателей этого объекта.
void deleteObservers()
Устарело.
Очищает список наблюдателей, так что у этого объекта больше нет наблюдателей.
boolean hasChanged()
Устарело.
Проверяет, изменился ли этот объект.
void notifyObservers()
Устарело.
Если этот объект изменился, как указано методом hasChanged, то уведомляет всех своих наблюдателей, а затем вызывает метод clearChanged, чтобы указать, что этот объект больше не изменился.
void notifyObservers(Object arg)
Устарело.
Если этот объект изменился, как указано методом hasChanged, то уведомляет всех своих наблюдателей, а затем вызывает метод clearChanged, чтобы указать, что этот объект больше не изменился.
protected void setChanged()
Устарело.
Помечает этот объект Observable как изменённый; метод hasChanged теперь вернёт true.

Методы, объявленные в классе java.lang.Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Подробное описание конструкторов

Observable

public Observable()
Устарело.
Создаёт Observable без наблюдателей.

Подробное описание методов

addObserver

public void addObserver(Observer o)
Устарело.
Добавляет наблюдателя в список наблюдателей этого объекта, при условии, что он не совпадает с уже существующим наблюдателем. Порядок уведомления нескольких наблюдателей не определён. См. комментарий к классу.
Параметры:
o - наблюдатель для добавления.
Исключения:
NullPointerException - если параметр o равен null.

deleteObserver

public void deleteObserver(Observer o)
Устарело.
Удаляет наблюдателя из списка наблюдателей этого объекта. Передача null в этот метод не повлияет на результат.
Параметры:
o - наблюдатель для удаления.

notifyObservers

public void notifyObservers()
Устарело.
Если этот объект изменился, как указано методом hasChanged, то уведомляет всех своих наблюдателей, а затем вызывает метод clearChanged, чтобы указать, что объект больше не изменился.

Каждый наблюдатель имеет свой метод update, вызываемый с двумя аргументами: этот наблюдаемый объект и null. Другими словами, этот метод эквивалентен:

notifyObservers(null)
См. также:
  • clearChanged()
  • hasChanged()
  • Observer.update(java.util.Observable, java.lang.Object)

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.
См. также:
  • notifyObservers()
  • notifyObservers(java.lang.Object)

hasChanged

public boolean hasChanged()
Устарело.
Проверяет, изменился ли этот объект.
Возвращает:
true тогда и только тогда, когда метод setChanged был вызван позднее, чем метод clearChanged для этого объекта; false в противном случае.
См. также:
  • clearChanged()
  • setChanged()

countObservers

public int countObservers()
Устарело.
Возвращает количество наблюдателей этого Observable объекта.
Возвращает:
количество наблюдателей этого объекта.

© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://download.java.net/java/early_access/jdk24/docs/api/java.base/java/util/Observable.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API