Spec-Zone.ru › OpenJDK 25

Класс 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

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

Модификатор и тип Метод Описание
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)
Возвращает аннотации, связанные с этим элементом.
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

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, в порядке объявления. Если базовое обобщённое объявление не объявляет переменных типов, возвращает массив длины 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.

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

Возвращает:
массив массивов, представляющих аннотации формальных и неявных параметров исполняемого элемента, представленного этим объектом, в порядке объявления
См. также:
  • 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)
Возвращает аннотации, связанные с этим элементом. Если с этим элементом не связано ни одной аннотации, возвращаемое значение представляет собой массив длины 0. Этот метод отличается от метода AnnotatedElement.getAnnotation(Class) тем, что он определяет, является ли его аргумент повторяемым типом аннотации (JLS 9.6), и, если является, пытается найти одну или несколько аннотаций этого типа, «просматривая» контейнерную аннотацию. Вызывающий этот метод может изменять возвращённый массив; это не повлияет на массивы, возвращаемые другим вызывающим сторонам.

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

Указано в:
getAnnotationsByType в интерфейсе AnnotatedElement
Переопределяет:
getAnnotationsByType в классе AccessibleObject
Параметры типа:
T — тип аннотации, наличие которой проверяется и которая возвращается, если она присутствует
Параметры:
annotationClass — объект Class, соответствующий типу аннотации
Возвращает:
все аннотации этого элемента для указанного типа аннотации, если они связаны с этим элементом; в противном случае массив нулевой длины
Вызывает исключение:
NullPointerException — если указанный класс аннотации равен null

getDeclaredAnnotations

public Annotation[] getDeclaredAnnotations()
Возвращает аннотации, непосредственно присутствующие в этом элементе. Этот метод игнорирует унаследованные аннотации. Если в этом элементе непосредственно не присутствует ни одной аннотации, возвращаемое значение представляет собой массив длины 0. Вызывающий этот метод может изменять возвращённый массив; это не повлияет на массивы, возвращаемые другим вызывающим сторонам.

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

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

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в документации Java SE, где представлены более подробные описания для разработчиков, обзоры концепций, определения терминов, обходные решения и примеры работающего кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее аффилированных лиц в США и других странах.
Авторские права © 1993, 2025, 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.
https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/reflect/Executable.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API