Spec-Zone.ru › OpenJDK 27

Класс Executable

java.lang.Object
java.lang.reflect.AccessibleObject
java.lang.reflect.Executable
Все реализованные интерфейсы:
AnnotatedElement, GenericDeclaration, Member
Непосредственные известные подклассы:
Constructor, Method
public abstract sealed class Executable extends AccessibleObject implements Member, GenericDeclaration permits Constructor<T>, Method
Общий суперкласс для функциональности, общей для Method и Constructor.
Граф иерархии запечатанных классов:
Sealed class hierarchy graph for ExecutableSealed class hierarchy graph for Executable
Начиная с:
1.8

Краткое описание полей

Поля, объявленные в интерфейсе Member

DECLARED, PUBLIC
Модификатор и тип Поле Описание
static final int DECLARED
Определяет набор объявленных членов класса или интерфейса.
static final int PUBLIC
Определяет набор всех открытых членов класса или интерфейса, включая унаследованные члены.

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

Модификатор и тип Метод Описание
Set<AccessFlag> accessFlags()
Возвращает неизменяемый набор флагов доступа для исполняемого элемента, представленного этим объектом; набор может быть пустым.
AnnotatedType[] getAnnotatedExceptionTypes()
Возвращает массив объектов AnnotatedType, представляющих использование типов для указания объявленных исключений метода/конструктора, представленного этим Executable.
AnnotatedType[] getAnnotatedParameterTypes()
Возвращает массив объектов AnnotatedType, представляющих использование типов для указания типов формальных параметров метода/конструктора, представленного этим Executable.
AnnotatedType getAnnotatedReceiverType()
Возвращает объект AnnotatedType, представляющий использование типа для указания типа-приёмника метода/конструктора, представленного этим объектом Executable.
abstract AnnotatedType getAnnotatedReturnType()
Возвращает объект AnnotatedType, представляющий использование типа для указания возвращаемого типа метода/конструктора, представленного этим Executable.
<T extends Annotation>
T
getAnnotation(Class<T> annotationClass)
Возвращает аннотацию этого элемента для указанного типа, если такая аннотация присутствует; в противном случае возвращает null.
<T extends Annotation>
T[]
getAnnotationsByType(Class<T> annotationClass)
Возвращает аннотации, связанные с этим элементом.
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(Object obj)
Проверяет, может ли вызывающий код получить доступ к этому отражённому объекту.
Annotation[] getAnnotations()
Возвращает аннотации, присутствующие у этого элемента.
<T extends Annotation>
T
getDeclaredAnnotation(Class<T> annotationClass)
Возвращает аннотацию этого элемента для указанного типа, если такая аннотация присутствует непосредственно; в противном случае возвращает null.
Annotation[] getDeclaredAnnotations()
Возвращает аннотации, непосредственно присутствующие у этого элемента.
<T extends Annotation>
T[]
getDeclaredAnnotationsByType(Class<T> annotationClass)
Возвращает аннотацию (аннотации) этого элемента для указанного типа, если такие аннотации присутствуют непосредственно или присутствуют косвенно.
boolean isAccessible()
Устарело.
Этот метод объявлен устаревшим, поскольку его имя подразумевает, что он проверяет доступность отражённого объекта, тогда как на самом деле он указывает, отключены ли проверки управления доступом языка Java.
boolean isAnnotationPresent(Class<? extends Annotation> annotationClass)
Возвращает true, если у этого элемента присутствует аннотация указанного типа; в противном случае возвращает false.
void setAccessible(boolean flag)
Устанавливает флаг accessible для этого отражённого объекта в указанное логическое значение.
static void setAccessible(AccessibleObject[] array, boolean flag)
Вспомогательный метод для установки флага accessible для массива отражённых объектов.
final boolean trySetAccessible()
Устанавливает флаг accessible для этого отражённого объекта в true, если это возможно.

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

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, 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()
Пробуждает все потоки, ожидающие на мониторе этого объекта.
String toString()
Возвращает строковое представление объекта.
final void wait()
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или прерывания.
final void wait(long timeoutMillis)
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или прерывания, либо до истечения заданного времени.
final void wait(long timeoutMillis, int nanos)
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или прерывания, либо до истечения заданного времени.

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

getDeclaringClass

public abstract Class<?> getDeclaringClass()
Возвращает объект Class, представляющий класс или интерфейс, который объявляет исполняемый элемент, представленный этим объектом.
Указано в:
getDeclaringClass в интерфейсе Member
Возвращает:
объект, представляющий объявляющий класс базового члена

getName

public abstract String getName()
Возвращает имя исполняемого элемента, представленного этим объектом.
Указано в:
getName в интерфейсе Member
Возвращает:
простое имя базового члена

getModifiers

public abstract int getModifiers()
Возвращает модификаторы языка Java для исполняемого элемента, представленного этим объектом.
Указано в:
getModifiers в интерфейсе Member
Возвращает:
модификаторы языка Java для исполняемого элемента, представленного этим объектом
См. также:
  • accessFlags()

accessFlags

public Set<AccessFlag> accessFlags()
Возвращает неизменяемый набор флагов доступа для исполняемого элемента, представленного этим объектом; набор может быть пустым.
Указано в:
accessFlags в интерфейсе Member
Возвращает:
неизменяемый набор флагов доступа для исполняемого элемента, представленного этим объектом; набор может быть пустым
См. Спецификацию виртуальной машины Java:
4.6 Методы
С:
20
См. также:
  • getModifiers()

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.

Обратите внимание, что все аннотации, возвращаемые этим методом, являются аннотациями объявления.

Возвращает:
массив массивов, представляющих аннотации формальных и неявных параметров исполняемого элемента, представленного этим объектом, в порядке объявления
См. также:
  • Parameter
  • Parameter.getAnnotations()

getAnnotation

public <T extends Annotation> T getAnnotation(Class<T> annotationClass)
Возвращает аннотацию этого элемента указанного типа, если такая аннотация присутствует; в противном случае возвращает null.

Обратите внимание, что любая аннотация, возвращаемая этим методом, является аннотацией объявления.

Указано в:
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

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по 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