Spec-Zone.ru › OpenJDK 27

Класс Statement

java.lang.Object
java.beans.Statement
Прямые известные подклассы:
Expression
public class Statement extends Object
Объект Statement представляет собой простое выражение, в котором к целевому объекту применяется один метод с набором аргументов, как в "a.setFoo(b)". Обратите внимание: в этом примере для обозначения целевого объекта и его аргумента используются имена, но объект-выражение не требует пространства имён и создаётся непосредственно со значениями. Объект-выражение связывает именованный метод с его окружением в виде простого набора значений: целевого объекта и массива значений аргументов.
Начиная с версии:
1.4

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

Конструктор Описание
Statement(Object target, String methodName, Object[] arguments)
Создаёт новый объект Statement для указанного целевого объекта, чтобы вызвать метод, заданный именем и массивом аргументов.

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

Модификатор и тип Метод Описание
void execute()
Метод execute находит метод с именем, совпадающим со свойством methodName, и вызывает его для целевого объекта.
Object[] getArguments()
Возвращает аргументы для вызываемого метода.
String getMethodName()
Возвращает имя вызываемого метода.
Object getTarget()
Возвращает целевой объект этого выражения.
String toString()
Выводит значение этого выражения в синтаксисе Java.

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

clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Модификатор и тип Метод Описание
protected Object clone()
Создаёт и возвращает копию этого объекта.
boolean equals(Object obj)
Указывает, является ли другой объект «равным» этому объекту.
protected void finalize()
Устарел и подлежит удалению: этот элемент API может быть удалён в будущей версии.
Финализация объявлена устаревшей и подлежит удалению в одном из будущих выпусков.
final Class<?> getClass()
Возвращает класс времени выполнения этого Object.
int hashCode()
Возвращает значение хеш-кода для этого объекта.
final void notify()
Пробуждает один поток, ожидающий на мониторе этого объекта.
final void notifyAll()
Пробуждает все потоки, ожидающие на мониторе этого объекта.
final void wait()
Заставляет текущий поток ждать, пока он не будет разбужен, обычно посредством уведомления или прерывания.
final void wait(long timeoutMillis)
Заставляет текущий поток ждать, пока он не будет разбужен, обычно посредством уведомления или прерывания, либо пока не истечёт определённое время.
final void wait(long timeoutMillis, int nanos)
Заставляет текущий поток ждать, пока он не будет разбужен, обычно посредством уведомления или прерывания, либо пока не истечёт определённое время.

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

Statement

@ConstructorProperties({"target","methodName","arguments"}) public Statement(Object target, String methodName, Object[] arguments)
Создаёт новый объект Statement для указанного целевого объекта, чтобы вызвать метод, заданный именем и массивом аргументов.

Значения target и methodName не должны быть null. В противном случае попытка выполнить это Expression приведёт к NullPointerException. Если значение arguments равно null, в качестве значения свойства arguments используется пустой массив.

Параметры:
target — целевой объект этого выражения
methodName — имя метода, вызываемого для указанного целевого объекта
arguments — массив аргументов для вызова указанного метода

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

getTarget

public Object getTarget()
Возвращает целевой объект этого выражения. Если этот метод возвращает null, метод execute() выбрасывает NullPointerException.
Возвращает:
целевой объект этого выражения

getMethodName

public String getMethodName()
Возвращает имя вызываемого метода. Если этот метод возвращает null, метод execute() выбрасывает NullPointerException.
Возвращает:
имя метода

getArguments

public Object[] getArguments()
Возвращает аргументы для вызываемого метода. Количество аргументов и их типы должны соответствовать вызываемому методу. null можно использовать как синоним пустого массива.
Возвращает:
массив аргументов

execute

public void execute() throws Exception
Метод execute находит метод с именем, совпадающим со свойством methodName, и вызывает его для целевого объекта. Если класс целевого объекта определяет несколько методов с указанным именем, реализация должна выбрать наиболее конкретный метод с помощью алгоритма, заданного в спецификации языка Java (15.11). Вместо информации о типах времени компиляции используются динамические классы целевого объекта и аргументов; как и в самом классе Method, преобразование между примитивными значениями и соответствующими классами-обёртками выполняется автоматически.

Следующие типы методов обрабатываются особым образом:

  • Статические методы можно вызывать, используя объект класса в качестве целевого объекта.
  • Зарезервированное имя метода "new" можно использовать для вызова конструктора класса, как если бы все классы определяли статические методы "new". Вызовы конструкторов обычно рассматриваются как Expressionы, а не Statementы, поскольку они возвращают значение.
  • Имена методов "get" и "set", определённые в интерфейсе List, также можно применять к экземплярам массивов; в этом случае вызываются статические методы с такими же именами из класса Array.
Выбрасывает:
NullPointerException — если значение свойства target или methodName равно null
NoSuchMethodException — если подходящий метод не найден
Exception — исключение, выброшенное вызываемым методом
См. также:
  • Method

toString

public String toString()
Выводит значение этого выражения в синтаксисе Java.
Переопределяет:
toString в классе Object
Возвращает:
строковое представление объекта

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в документации Java SE, содержащей более подробные описания для разработчиков, концептуальные обзоры, определения терминов, обходные решения и примеры работающего кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или её дочерних компаний в США и других странах.
Авторское право © 1993, 2026, 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.

Spec-Zone.ru

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