Класс 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- если метод с совпадающим именем не найден -
SecurityException- если существует менеджер безопасности и он запрещает вызов метода -
Exception- который выбрасывается вызываемым методом - См. также:
toString
public String toString()
- Переопределяет:
-
toStringв классеObject - Возвращает:
- строковое представление объекта.
© 1993, 2021, 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/17/docs/api/java.desktop/java/beans/Statement.html