Spec-Zone.ru › OpenJDK 25

Класс 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. После изменения экземпляра наблюдаемого объекта приложение может вызвать метод notifyObservers объекта Observable, чтобы уведомить всех его наблюдателей об изменении вызовом их метода update.

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

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

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

Начиная с версии:
1.0
См. также:
  • notifyObservers()
  • notifyObservers(java.lang.Object)
  • Observer
  • Observer.update(java.util.Observable, java.lang.Object)

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

Конструктор Описание
Observable()
Устарело.
Создаёт 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.

Методы, объявленные в классе 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.
Возвращает:
число наблюдателей этого объекта.

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в документации Java SE, которая содержит более подробные описания для разработчиков, концептуальные обзоры, определения терминов, обходные решения и примеры работающего кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или её аффилированных лиц в США и других странах.
Авторское право © 1993, 2025, Oracle и/или её аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 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://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/Observable.html

Spec-Zone.ru

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