Класс Statement
- Прямые известные подклассы:
Expression
public class Statement extends Object
Statement представляет собой примитивное выражение, в котором к целевому объекту и набору аргументов применяется единственный метод — как в "a.setFoo(b)". Обратите внимание, что в этом примере для обозначения целевого объекта и его аргументов используются имена, а объекту выражения не требуется пространство имён, и он создаётся с самими значениями. Объект выражения связывает именованный метод со своей средой как простым набором значений: целевой объект и массив значений аргументов.- С момента:
- 1.4
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
Statement |
Создаёт новый объект Statement для указанного целевого объекта, для вызова метода, заданного именем и массивом аргументов. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
void |
execute() |
Метод execute находит метод с именем, совпадающим с свойством methodName, и вызывает этот метод на целевом объекте. |
Object[] |
getArguments() |
Возвращает аргументы для вызываемого метода. |
String |
getMethodName() |
Возвращает имя вызываемого метода. |
Object |
getTarget() |
Возвращает целевой объект данного выражения. |
String |
toString() |
Выводит значение данного выражения с использованием синтаксиса Java. |
Подробное описание конструкторов
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- исключение, которое выбрасывается вызываемым методом - См. также:
toString
© 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.desktop/java/beans/Statement.html