Класс Executable
- Все реализованные интерфейсы:
AnnotatedElement, GenericDeclaration, Member
- Непосредственные известные подклассы:
Constructor, Method
public abstract sealed class Executable extends AccessibleObject implements Member, GenericDeclaration permits Constructor<T>, Method
Method и Constructor.Краткое описание полей
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
Set |
accessFlags() |
Возвращает неизменяемый набор флагов доступа для исполняемого элемента, представленного этим объектом; набор может быть пустым. |
AnnotatedType[] |
getAnnotatedExceptionTypes() |
Возвращает массив объектов AnnotatedType, представляющих использование типов для указания объявленных исключений метода/конструктора, представленного этим Executable. |
AnnotatedType[] |
getAnnotatedParameterTypes() |
Возвращает массив объектов AnnotatedType, представляющих использование типов для указания типов формальных параметров метода/конструктора, представленного этим Executable. |
AnnotatedType |
getAnnotatedReceiverType() |
Возвращает объект AnnotatedType, представляющий использование типа для указания типа-приёмника метода/конструктора, представленного этим объектом Executable. |
abstract AnnotatedType |
getAnnotatedReturnType() |
Возвращает объект AnnotatedType, представляющий использование типа для указания возвращаемого типа метода/конструктора, представленного этим Executable. |
<T extends Annotation> |
getAnnotation |
Возвращает аннотацию этого элемента для указанного типа, если такая аннотация присутствует; в противном случае возвращает null. |
<T extends Annotation> |
getAnnotationsByType |
Возвращает аннотации, связанные с этим элементом. |
abstract Class |
getDeclaringClass() |
Возвращает объект Class, представляющий класс или интерфейс, в котором объявлен исполняемый элемент, представленный этим объектом. |
abstract Class<?>[] |
getExceptionTypes() |
Возвращает массив объектов Class, представляющих типы исключений, объявленных для выбрасывания базовым исполняемым элементом, представленным этим объектом. |
Type[] |
getGenericExceptionTypes() |
Возвращает массив объектов Type, представляющих исключения, объявленные для выбрасывания этим объектом исполняемого элемента. |
Type[] |
getGenericParameterTypes() |
Возвращает массив объектов Type, представляющих типы формальных параметров исполняемого элемента, представленного этим объектом, в порядке объявления. |
abstract int |
getModifiers() |
Возвращает модификаторы языка Java для исполняемого элемента, представленного этим объектом. |
abstract String |
getName() |
Возвращает имя исполняемого элемента, представленного этим объектом. |
abstract Annotation[][] |
getParameterAnnotations() |
Возвращает массив массивов объектов Annotation, представляющих аннотации формальных параметров объекта Executable, в порядке объявления. |
abstract int |
getParameterCount() |
Возвращает количество формальных параметров исполняемого элемента, представленного этим объектом (явно объявленных, неявно объявленных или не относящихся ни к одной из этих категорий). |
Parameter[] |
getParameters() |
Возвращает массив объектов Parameter, представляющих все параметры базового исполняемого элемента, представленного этим объектом. |
abstract Class<?>[] |
getParameterTypes() |
Возвращает массив объектов Class, представляющих типы формальных параметров исполняемого элемента, представленного этим объектом, в порядке объявления. |
abstract TypeVariable<?>[] |
getTypeParameters() |
Возвращает массив объектов TypeVariable, представляющих переменные типов, объявленные обобщённым объявлением, представленным этим объектом GenericDeclaration, в порядке объявления. |
boolean |
isSynthetic() |
Возвращает true, если этот исполняемый элемент является синтетической конструкцией; в противном случае возвращает false. |
boolean |
isVarArgs() |
Возвращает true, если этот исполняемый элемент объявлен принимающим переменное число аргументов; в противном случае возвращает false. |
String |
toGenericString() |
Возвращает строку с описанием этого Executable, включая параметры типа. |
Методы, объявленные в классе AccessibleObject
canAccess, getAnnotations, getDeclaredAnnotation, getDeclaredAnnotations, getDeclaredAnnotationsByType, isAccessible, isAnnotationPresent, setAccessible, setAccessible, trySetAccessible | Модификатор и тип | Метод | Описание |
|---|---|---|
final boolean |
canAccess |
Проверяет, может ли вызывающий код получить доступ к этому отражённому объекту. |
Annotation[] |
getAnnotations() |
Возвращает аннотации, присутствующие у этого элемента. |
<T extends Annotation> |
getDeclaredAnnotation |
Возвращает аннотацию этого элемента для указанного типа, если такая аннотация присутствует непосредственно; в противном случае возвращает null. |
Annotation[] |
getDeclaredAnnotations() |
Возвращает аннотации, непосредственно присутствующие у этого элемента. |
<T extends Annotation> |
getDeclaredAnnotationsByType |
Возвращает аннотацию (аннотации) этого элемента для указанного типа, если такие аннотации присутствуют непосредственно или присутствуют косвенно. |
boolean |
isAccessible() |
Устарело. Этот метод объявлен устаревшим, поскольку его имя подразумевает, что он проверяет доступность отражённого объекта, тогда как на самом деле он указывает, отключены ли проверки управления доступом языка Java. |
boolean |
isAnnotationPresent |
Возвращает true, если у этого элемента присутствует аннотация указанного типа; в противном случае возвращает false. |
void |
setAccessible |
Устанавливает флаг accessible для этого отражённого объекта в указанное логическое значение. |
static void |
setAccessible |
Вспомогательный метод для установки флага accessible для массива отражённых объектов. |
final boolean |
trySetAccessible() |
Устанавливает флаг accessible для этого отражённого объекта в true, если это возможно. |
Методы, объявленные в классе Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | Модификатор и тип | Метод | Описание |
|---|---|---|
protected Object |
clone() |
Создаёт и возвращает копию этого объекта. |
boolean |
equals |
Показывает, равен ли какой-либо другой объект этому объекту. |
protected void |
finalize() |
Устарело, планируется удаление: этот элемент API может быть удалён в будущей версии. Финализация объявлена устаревшей и может быть удалена в одном из будущих выпусков. |
final Class |
getClass() |
Возвращает класс времени выполнения этого Object. |
int |
hashCode() |
Возвращает хеш-код этого объекта. |
final void |
notify() |
Пробуждает один поток, ожидающий на мониторе этого объекта. |
final void |
notifyAll() |
Пробуждает все потоки, ожидающие на мониторе этого объекта. |
String |
toString() |
Возвращает строковое представление объекта. |
final void |
wait() |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или прерывания. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или прерывания, либо до истечения заданного времени. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или прерывания, либо до истечения заданного времени. |
Подробное описание методов
getDeclaringClass
public abstract Class<?> getDeclaringClass()
Class, представляющий класс или интерфейс, который объявляет исполняемый элемент, представленный этим объектом.- Указано в:
-
getDeclaringClassв интерфейсеMember - Возвращает:
- объект, представляющий объявляющий класс базового члена
getName
getModifiers
public abstract int getModifiers()
- Указано в:
-
getModifiersв интерфейсеMember - Возвращает:
- модификаторы языка Java для исполняемого элемента, представленного этим объектом
- См. также:
accessFlags
public Set<AccessFlag> accessFlags()
- Указано в:
-
accessFlagsв интерфейсеMember - Возвращает:
- неизменяемый набор флагов доступа для исполняемого элемента, представленного этим объектом; набор может быть пустым
- См. Спецификацию виртуальной машины Java:
- 4.6 Методы
- С:
- 20
- См. также:
getTypeParameters
public abstract TypeVariable<?>[] getTypeParameters()
TypeVariable, представляющих переменные типа, объявленные обобщённым объявлением, представленным этим объектом GenericDeclaration, в порядке объявления. Возвращает массив нулевой длины, если базовое обобщённое объявление не объявляет переменных типа.- Указано в:
-
getTypeParametersв интерфейсеGenericDeclaration - Возвращает:
- массив объектов
TypeVariable, представляющих переменные типа, объявленные этим обобщённым объявлением - Вызывает исключение:
-
GenericSignatureFormatError— если обобщённая сигнатура этого обобщённого объявления не соответствует формату, указанному в Спецификации виртуальной машины Java
getParameterTypes
public abstract Class<?>[] getParameterTypes()
Class, представляющих типы формальных параметров исполняемого элемента, представленного этим объектом, в порядке объявления. Возвращает массив нулевой длины, если базовый исполняемый элемент не принимает параметров. Обратите внимание, что конструкторы некоторых внутренних классов могут иметь неявно объявленный параметр помимо явно объявленных. Также обратите внимание, что компактные конструкторы класса-записи могут иметь неявно объявленные параметры.- Возвращает:
- типы параметров исполняемого элемента, представленного этим объектом
getParameterCount
public abstract int getParameterCount()
- Возвращает:
- Число формальных параметров исполняемого элемента, представленного этим объектом
getGenericParameterTypes
public Type[] getGenericParameterTypes()
Type, представляющих типы формальных параметров исполняемого элемента, представленного этим объектом, в порядке объявления. Если базовый исполняемый элемент не принимает параметров, возвращается массив нулевой длины. Обратите внимание, что конструкторы некоторых внутренних классов могут иметь неявно объявленный параметр помимо явно объявленных. Компактные конструкторы класса-записи также могут иметь неявно объявленные параметры, однако они являются особым случаем и поэтому считаются явно объявленными в исходном коде. Наконец, обратите внимание, что как modeling artifact, число возвращаемых параметров может различаться в зависимости от наличия обобщённой информации. Если обобщённая информация присутствует, возвращаются параметры, явно присутствующие в исходном коде, или параметры компактных конструкторов класса-записи. Обратите внимание, что параметры компактных конструкторов класса-записи являются особым случаем: они не присутствуют явно в исходном коде, и их тип возвращается независимо от того, являются ли параметры неявно объявленными. Если обобщённая информация отсутствует, могут возвращаться также неявные и синтетические параметры. Если тип формального параметра является параметризованным типом, возвращаемый для него объект Type должен точно отражать фактические аргументы типа, использованные в исходном коде. Это утверждение также применимо к параметрам компактных конструкторов класса-записи независимо от того, являются ли они неявно объявленными.
Если тип формального параметра является переменной типа или параметризованным типом, он создаётся. В противном случае он разрешается.
- Возвращает:
- массив объектов
Type, представляющих типы формальных параметров базового исполняемого элемента в порядке объявления - Вызывает исключение:
-
GenericSignatureFormatError— если обобщённая сигнатура метода не соответствует формату, указанному в Спецификации виртуальной машины Java -
TypeNotPresentException— если любой из типов параметров базового исполняемого элемента ссылается на несуществующее объявление типа -
MalformedParameterizedTypeException— если любой из типов параметров базового исполняемого элемента ссылается на параметризованный тип, который по какой-либо причине не может быть создан
getParameters
public Parameter[] getParameters()
Parameter, представляющих все параметры базового исполняемого элемента, представленного этим объектом. Если исполняемый элемент не имеет параметров, возвращается массив нулевой длины. Параметры базового исполняемого элемента не обязательно имеют уникальные имена или имена, допустимые в качестве идентификаторов в языке программирования Java (JLS §3.8).
- Возвращает:
- массив объектов
Parameter, представляющих все параметры базового исполняемого элемента, представленного этим объектом - Вызывает исключение:
-
MalformedParametersException— если файл класса содержит атрибут MethodParameters с неправильным форматом.
getExceptionTypes
public abstract Class<?>[] getExceptionTypes()
Class, представляющих типы исключений, объявленных как выбрасываемые базовым исполняемым элементом, представленным этим объектом. Если исполняемый элемент не объявляет исключений в предложении
throws, возвращается массив нулевой длины.- Возвращает:
- типы исключений, объявленных как выбрасываемые исполняемым элементом, представленным этим объектом
getGenericExceptionTypes
public Type[] getGenericExceptionTypes()
Type, представляющих исключения, объявленные как выбрасываемые этим объектом исполняемого элемента. Если базовый исполняемый элемент не объявляет исключений в предложении throws, возвращается массив нулевой длины. Если тип исключения является переменной типа или параметризованным типом, он создаётся. В противном случае он разрешается.
- Возвращает:
- массив типов, представляющих типы исключений, выбрасываемых базовым исполняемым элементом
- Вызывает исключение:
-
GenericSignatureFormatError— если обобщённая сигнатура метода не соответствует формату, указанному в Спецификации виртуальной машины Java -
TypeNotPresentException— если предложениеthrowsбазового исполняемого элемента ссылается на несуществующее объявление типа -
MalformedParameterizedTypeException— если предложениеthrowsбазового исполняемого элемента ссылается на параметризованный тип, который по какой-либо причине не может быть создан
toGenericString
public String toGenericString()
Executable, включая все параметры типа.- Возвращает:
- строку с описанием этого объекта
Executable, включая все параметры типа
isVarArgs
public boolean isVarArgs()
true, если этот исполняемый элемент был объявлен принимающим переменное число аргументов; в противном случае возвращает false.- Возвращает:
-
true, если этот исполняемый элемент был объявлен принимающим переменное число аргументов; в противном случае возвращаетfalse
isSynthetic
public boolean isSynthetic()
true, если этот исполняемый элемент является синтетической конструкцией; в противном случае возвращает false.- Указано в:
-
isSyntheticв интерфейсеMember - Возвращает:
- true тогда и только тогда, когда этот исполняемый элемент является синтетической конструкцией, определённой в Спецификации языка Java.
- См. Спецификацию языка Java:
- 13.1 Форма двоичного представления
- См. Спецификацию виртуальной машины Java:
- 4.6 Методы
getParameterAnnotations
public abstract Annotation[][] getParameterAnnotations()
Annotation, представляющих аннотации формальных параметров объекта Executable, представленного этим объектом, в порядке объявления. Синтетические и обязательные параметры (см. пояснение ниже), например внешний параметр «this» конструктора внутреннего класса, будут представлены в возвращаемом массиве. Если исполняемый элемент не имеет параметров (то есть формальных, синтетических и обязательных параметров), возвращается массив нулевой длины. Если объект Executable имеет один или несколько параметров, для каждого параметра без аннотаций возвращается вложенный массив нулевой длины. Объекты аннотаций, содержащиеся в возвращаемых массивах, сериализуемы. Вызывающий этот метод может изменять возвращаемые массивы; это никак не повлияет на массивы, возвращаемые другим вызывающим сторонам. Компилятор может добавить в список параметров метода дополнительные параметры, неявно объявленные в исходном коде («обязательные»), а также параметры, не объявленные в исходном коде ни явно, ни неявно («синтетические»). Дополнительную информацию см. в разделе Parameter. Обратите внимание, что все аннотации, возвращаемые этим методом, являются аннотациями объявления.
- Возвращает:
- массив массивов, представляющих аннотации формальных и неявных параметров исполняемого элемента, представленного этим объектом, в порядке объявления
- См. также:
getAnnotation
public <T extends Annotation> T getAnnotation(Class<T> annotationClass)
Обратите внимание, что любая аннотация, возвращаемая этим методом, является аннотацией объявления.
- Указано в:
-
getAnnotationв интерфейсеAnnotatedElement - Переопределяет:
-
getAnnotationв классеAccessibleObject - Параметры типа:
T— тип аннотации, наличие которой проверяется и которая возвращается, если присутствует- Параметры:
-
annotationClass— объект Class, соответствующий типу аннотации - Возвращает:
- аннотацию этого элемента указанного типа, если она присутствует в элементе; в противном случае возвращает null
- Вызывает исключение:
-
NullPointerException— если указанное значение класса аннотации равно null
getAnnotationsByType
public <T extends Annotation> T[] getAnnotationsByType(Class<T> annotationClass)
AnnotatedElement.getAnnotation(Class) заключается в том, что этот метод определяет, является ли его аргумент повторяемым типом аннотации (JLS §9.6), и, если это так, пытается найти одну или несколько аннотаций этого типа, «заглядывая» в контейнерную аннотацию. Вызывающий этот метод может изменять возвращаемый массив; это никак не повлияет на массивы, возвращаемые другим вызывающим сторонам. Обратите внимание, что все аннотации, возвращаемые этим методом, являются аннотациями объявления.
- Указано в:
-
getAnnotationsByTypeв интерфейсеAnnotatedElement - Переопределяет:
-
getAnnotationsByTypeв классеAccessibleObject - Параметры типа:
T— тип аннотации, наличие которой проверяется и которая возвращается, если присутствует- Параметры:
-
annotationClass— объект Class, соответствующий типу аннотации - Возвращает:
- все аннотации этого элемента указанного типа, связанные с этим элементом; в противном случае массив нулевой длины
- Вызывает исключение:
-
NullPointerException— если указанное значение класса аннотации равно null
getAnnotatedReturnType
public abstract AnnotatedType getAnnotatedReturnType()
AnnotatedType, представляющий использование типа для указания типа возвращаемого значения метода или конструктора, представленного этим Executable. Если этот объект Executable представляет конструктор, объект
AnnotatedType представляет тип созданного объекта. Если этот объект Executable представляет метод, объект
AnnotatedType представляет использование типа для указания типа возвращаемого значения метода.- Возвращает:
- объект, представляющий тип возвращаемого значения метода или конструктора, представленного этим
Executable
getAnnotatedReceiverType
public AnnotatedType getAnnotatedReceiverType()
AnnotatedType, представляющий использование типа для указания типа получателя метода или конструктора, представленного этим объектом Executable. Тип получателя метода или конструктора доступен только в том случае, если метод или конструктор имеет параметр-получатель (JLS §8.4.1). Если этот объект
Executable представляет метод экземпляра или конструктор внутреннего класса-члена, а метод или конструктор либо не имеет параметра-получателя, либо имеет параметр-получатель без аннотаций типа, возвращаемым значением будет объект AnnotatedType, представляющий элемент без аннотаций. Если этот объект Executable представляет статический метод или конструктор класса верхнего уровня, статического класса-члена, локального или анонимного класса, возвращаемое значение равно null.- Возвращает:
- объект, представляющий тип получателя метода или конструктора, представленного этим
Executable, либоnull, если этотExecutableне может иметь параметр-получатель - См. Спецификацию языка Java:
- 8.4 Объявления методов
8.4.1 Формальные параметры
8.8 Объявления конструкторов
getAnnotatedParameterTypes
public AnnotatedType[] getAnnotatedParameterTypes()
AnnotatedType, представляющих использование типов для указания типов формальных параметров метода или конструктора, представленного этим Executable. Порядок объектов в массиве соответствует порядку типов формальных параметров в объявлении метода или конструктора. Если метод или конструктор не объявляет параметров, возвращается массив нулевой длины. Обратите внимание, что конструкторы некоторых внутренних классов могут иметь неявно объявленный параметр помимо явно объявленных. Также обратите внимание, что компактные конструкторы класса-записи могут иметь неявно объявленные параметры.- Возвращает:
- массив объектов, представляющих типы формальных параметров метода или конструктора, представленного этим
Executable
getAnnotatedExceptionTypes
public AnnotatedType[] getAnnotatedExceptionTypes()
AnnotatedType, представляющих использование типов для указания объявленных исключений метода или конструктора, представленного этим Executable. Порядок объектов в массиве соответствует порядку типов исключений в объявлении метода или конструктора. Если метод или конструктор не объявляет исключений, возвращается массив нулевой длины.- Возвращает:
- массив объектов, представляющих объявленные исключения метода или конструктора, представленного этим
Executable
© 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.