Класс 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 |
Возвращает аннотации, связанные с этим элементом. |
Annotation[] |
getDeclaredAnnotations() |
Возвращает аннотации, непосредственно присутствующие в этом элементе. |
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. |
abstract String |
toGenericString() |
Возвращает строку с описанием этого Executable, включая параметры типов. |
Методы, объявленные в классе AccessibleObject
canAccess, getAnnotations, getDeclaredAnnotation, getDeclaredAnnotations, getDeclaredAnnotationsByType, isAccessible, isAnnotationPresent, setAccessible, setAccessible, trySetAccessible
Методы, объявленные в классе Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Методы, объявленные в интерфейсе AnnotatedElement
getAnnotations, getDeclaredAnnotation, getDeclaredAnnotationsByType, isAnnotationPresent
Подробное описание методов
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, в порядке объявления. Если базовое обобщённое объявление не объявляет переменных типов, возвращает массив длины 0.- Указано в:
-
getTypeParametersв интерфейсеGenericDeclaration - Возвращает:
- массив объектов
TypeVariable, представляющих переменные типов, объявленные этим обобщённым объявлением - Вызывает исключение:
-
GenericSignatureFormatError— если обобщённая сигнатура этого обобщённого объявления не соответствует формату, указанному в Спецификации виртуальной машины Java
getParameterTypes
public abstract Class<?>[] getParameterTypes()
Class, представляющих формальные типы параметров исполняемого элемента, представленного этим объектом, в порядке объявления. Если базовый исполняемый элемент не принимает параметров, возвращает массив длины 0. Обратите внимание, что конструкторы некоторых внутренних классов могут иметь неявно объявленный параметр в дополнение к явно объявленным. Также обратите внимание, что компактные конструкторы класса-записи могут иметь неявно объявленные параметры.- Возвращает:
- типы параметров исполняемого элемента, представленного этим объектом
getParameterCount
public abstract int getParameterCount()
- Возвращает:
- Количество формальных параметров исполняемого элемента, представленного этим объектом
getGenericParameterTypes
public Type[] getGenericParameterTypes()
Type, представляющих формальные типы параметров исполняемого элемента, представленного этим объектом, в порядке объявления. Если базовый исполняемый элемент не принимает параметров, возвращается массив длины 0. Обратите внимание, что конструкторы некоторых внутренних классов могут иметь неявно объявленный параметр в дополнение к явно объявленным. Компактные конструкторы класса-записи также могут иметь неявно объявленные параметры, однако они являются особым случаем и потому считаются явно объявленными в исходном коде. Наконец, следует отметить, что как modeling artifact, количество возвращаемых параметров может различаться в зависимости от наличия обобщённой информации. Если обобщённая информация имеется, возвращаются параметры, явно присутствующие в исходном коде, или параметры компактных конструкторов класса-записи. Обратите внимание, что параметры компактных конструкторов класса-записи являются особым случаем: они явно не присутствуют в исходном коде, а их тип возвращается независимо от того, являются ли параметры неявно объявленными. Если обобщённая информация отсутствует, могут также возвращаться неявные и синтетические параметры. Если формальный тип параметра является параметризованным типом, возвращённый для него объект Type должен точно отражать фактические аргументы типа, использованные в исходном коде. Это утверждение также относится к параметрам компактных конструкторов класса-записи независимо от того, являются ли они неявно объявленными.
Если формальный тип параметра является переменной типа или параметризованным типом, он создаётся. В противном случае он разрешается.
- Возвращает:
- массив объектов
Type, представляющих формальные типы параметров базового исполняемого элемента в порядке объявления - Вызывает исключение:
-
GenericSignatureFormatError— если обобщённая сигнатура метода не соответствует формату, указанному в Спецификации виртуальной машины Java -
TypeNotPresentException— если какой-либо тип параметра базового исполняемого элемента ссылается на несуществующее объявление типа -
MalformedParameterizedTypeException— если какой-либо тип параметра базового исполняемого элемента ссылается на параметризованный тип, который по какой-либо причине невозможно создать
getParameters
public Parameter[] getParameters()
Parameter, представляющих все параметры базового исполняемого элемента, представленного этим объектом. Если у исполняемого элемента нет параметров, возвращается массив длины 0. Параметры базового исполняемого элемента не обязательно имеют уникальные имена или имена, являющиеся допустимыми идентификаторами в языке программирования Java (JLS 3.8).
- Возвращает:
- массив объектов
Parameter, представляющих все параметры базового исполняемого элемента, представленного этим объектом - Вызывает исключение:
-
MalformedParametersException— если атрибут MethodParameters в файле класса имеет неправильный формат.
getExceptionTypes
public abstract Class<?>[] getExceptionTypes()
Class, представляющих типы исключений, объявленных для выбрасывания базовым исполняемым элементом, представленным этим объектом. Если исполняемый элемент не объявляет исключений в предложении
throws, возвращается массив длины 0.- Возвращает:
- типы исключений, объявленных как выбрасываемые исполняемым элементом, представленным этим объектом
getGenericExceptionTypes
public Type[] getGenericExceptionTypes()
Type, представляющих исключения, объявленные для выбрасывания этим объектом исполняемого элемента. Если базовый исполняемый элемент не объявляет исключений в предложении throws, возвращается массив длины 0. Если тип исключения является переменной типа или параметризованным типом, он создаётся. В противном случае он разрешается.
- Возвращает:
- массив типов, представляющих типы исключений, выбрасываемых базовым исполняемым элементом
- Вызывает исключение:
-
GenericSignatureFormatError— если обобщённая сигнатура метода не соответствует формату, указанному в Спецификации виртуальной машины Java -
TypeNotPresentException— если предложениеthrowsбазового исполняемого элемента ссылается на несуществующее объявление типа -
MalformedParameterizedTypeException— если предложениеthrowsбазового исполняемого элемента ссылается на параметризованный тип, который по какой-либо причине невозможно создать
toGenericString
public abstract 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
getDeclaredAnnotations
public Annotation[] getDeclaredAnnotations()
Обратите внимание, что все аннотации, возвращаемые этим методом, являются аннотациями объявления.
- Указано в:
-
getDeclaredAnnotationsв интерфейсеAnnotatedElement - Переопределяет:
-
getDeclaredAnnotationsв классеAccessibleObject - Возвращает:
- аннотации, непосредственно присутствующие в этом элементе
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. Порядок объектов в массиве соответствует порядку формальных типов параметров в объявлении метода/конструктора. Если метод/конструктор не объявляет параметров, возвращается массив длины 0. Обратите внимание, что конструкторы некоторых внутренних классов могут иметь неявно объявленный параметр в дополнение к явно объявленным. Также обратите внимание, что компактные конструкторы класса-записи могут иметь неявно объявленные параметры.- Возвращает:
- массив объектов, представляющих типы формальных параметров метода или конструктора, представленного этим
Executable
getAnnotatedExceptionTypes
public AnnotatedType[] getAnnotatedExceptionTypes()
AnnotatedType, представляющих использование типов для указания объявленных исключений метода/конструктора, представленного этим Executable. Порядок объектов в массиве соответствует порядку типов исключений в объявлении метода/конструктора. Если метод/конструктор не объявляет исключений, возвращается массив длины 0.- Возвращает:
- массив объектов, представляющих объявленные исключения метода или конструктора, представленного этим
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.
https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/reflect/Executable.html