Spec-Zone.ru › OpenJDK 24

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

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

Поля, объявленные в интерфейсе java.lang.reflect.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, включая любые параметры типа.

Методы, объявленные в классе java.lang.reflect.AccessibleObject

canAccess, getAnnotations, getDeclaredAnnotation, getDeclaredAnnotations, getDeclaredAnnotationsByType, isAccessible, isAnnotationPresent, setAccessible, setAccessible, trySetAccessible

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

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Методы, объявленные в интерфейсе java.lang.reflect.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 Virtual Machine:
4.6 Методы
С версии:
20
См. также:
  • getModifiers()

getTypeParameters

public abstract TypeVariable<?>[] getTypeParameters()
Возвращает массив объектов TypeVariable, представляющих типы переменных, объявленные обобщенным объявлением, представленным этим объектом GenericDeclaration, в порядке объявления. Возвращает массив длины 0, если базовое обобщенное объявление не объявляет никаких типов переменных.
Указано в:
getTypeParameters в интерфейсе GenericDeclaration
Возвращает:
массив объектов TypeVariable, представляющих типы переменных, объявленные этим обобщенным объявлением
Выбрасывает:
GenericSignatureFormatError - если обобщенная сигнатура этого обобщенного объявления не соответствует формату, указанному в Спецификации Java Virtual Machine

getParameterTypes

public abstract Class<?>[] getParameterTypes()
Возвращает массив объектов Class, представляющих формальные типы параметров в порядке объявления исполняемого элемента, представленного этим объектом. Возвращает массив длины 0, если базовый исполняемый элемент не принимает параметры. Обратите внимание, что конструкторы некоторых внутренних классов могут иметь неявный параметр в дополнение к явно объявленным. Также обратите внимание, что компактные конструкторы класса записи могут иметь неявные параметры.
Возвращает:
типы параметров для исполняемого элемента, который представляет этот объект

getParameterCount

public abstract int getParameterCount()
Возвращает количество формальных параметров (явных, неявных или ни тех, ни других) для исполняемого элемента, представленного этим объектом.
Возвращает:
Количество формальных параметров для исполняемого элемента, который представляет этот объект

getGenericParameterTypes

public Type[] getGenericParameterTypes()
Возвращает массив объектов Type, представляющих формальные типы параметров в порядке объявления исполняемого элемента, представленного этим объектом. Массив длины 0 возвращается, если базовый исполняемый элемент не принимает параметров. Обратите внимание, что конструкторы некоторых внутренних классов могут иметь неявный параметр в дополнение к явно объявленным. Компактные конструкторы класса записи также могут иметь неявные параметры, но они являются особым случаем и поэтому считаются как будто объявленные явно в исходном коде. Наконец, обратите внимание, что в качестве modeling artifact, количество возвращаемых параметров может отличаться в зависимости от наличия обобщенной информации. Если обобщенная информация присутствует, параметры, явно присутствующие в исходном коде, или параметры компактных конструкторов класса записи будут возвращены. Обратите внимание, что параметры компактных конструкторов класса записи являются особым случаем, так как они не присутствуют явно в исходном коде, и его тип будет возвращен независимо от того, являются ли параметры неявными или нет. Если обобщенная информация отсутствует, могут быть возвращены неявные и синтетические параметры.

Если формальный тип параметра является параметризованным типом, объект Type, возвращаемый для него, должен точно отражать фактические аргументы типов, используемые в исходном коде. Это утверждение также применяется к параметрам компактных конструкторов класса записи, независимо от того, являются ли они неявными или нет.

Если формальный тип параметра является переменной типа или параметризованным типом, он создается. В противном случае он разрешается.

Возвращает:
массив Type, представляющий формальные типы параметров базового исполняемого элемента в порядке объявления
Выбрасывает:
GenericSignatureFormatError - если обобщенная сигнатура метода не соответствует формату, указанному в Спецификации Java Virtual Machine
TypeNotPresentException - если какой-либо из типов параметров базового исполняемого элемента ссылается на не существующее объявление типа
MalformedParameterizedTypeException - если любой из типов параметров базового исполняемого элемента ссылается на параметризованный тип, который не может быть создан по какой-либо причине

getParameters

public Parameter[] getParameters()
Возвращает массив объектов Parameter, представляющих все параметры базового исполняемого элемента, представленного этим объектом. Массив длины 0 возвращается, если исполняемый элемент не имеет параметров.

Параметры базового исполняемого элемента необязательно имеют уникальные имена или имена, являющиеся допустимыми идентификаторами в языке программирования Java (JLS 3.8).

Возвращает:
массив объектов Parameter, представляющих все параметры базового исполняемого элемента, представленного этим объектом
Выбрасывает:
MalformedParametersException - если файл класса содержит атрибут MethodParameters, который отформатирован неправильно.

getExceptionTypes

public abstract Class<?>[] getExceptionTypes()
Возвращает массив объектов Class, представляющих типы исключений, объявленных для бросания базовым исполняемым элементом, представленным этим объектом. Возвращает массив длины 0, если исполняемый элемент не объявляет исключений в своем блоке throws.
Возвращает:
типы исключений, объявленных для бросания исполняемым элементом, который представляет этот объект

getGenericExceptionTypes

public Type[] getGenericExceptionTypes()
Возвращает массив объектов Type, представляющих исключения, объявленные для бросания этим исполняемым объектом. Возвращает массив длины 0, если базовый исполняемый элемент не объявляет исключений в своем блоке throws.

Если тип исключения является переменной типа или параметризованным типом, он создается. В противном случае он разрешается.

Возвращает:
массив типов, представляющих типы исключений, бросаемых базовым исполняемым элементом
Выбрасывает:
GenericSignatureFormatError - если обобщенная сигнатура метода не соответствует формату, указанному в Спецификации Java Virtual Machine
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.
Specified by:
isSynthetic в интерфейсе Member
Returns:
true тогда и только тогда, когда эта исполняемая единица является синтетической конструкцией, как определено в Спецификации языка Java.
См. Спецификацию языка Java:
13.1 Форма двоичного файла
См. Спецификацию виртуальной машины Java:
4.6 Методы

getParameterAnnotations

public abstract Annotation[][] getParameterAnnotations()
Возвращает массив массивов Annotation, представляющих аннотации формальных параметров, в порядке объявления, исполняемой единицы, представленной этим объектом. Синтетические и обязательные параметры (см. пояснение ниже), такие как внешний параметр "this" для конструктора внутреннего класса, будут представлены в возвращаемом массиве. Если у исполняемой единицы нет параметров (т. е. нет формальных, синтетических и обязательных параметров), возвращается массив нулевой длины. Если у исполняемой единицы есть один или несколько параметров, для каждого параметра без аннотаций возвращается вложенный массив нулевой длины. Объекты аннотаций, содержащиеся в возвращаемых массивах, сериализуемы. Вызывающий метод может изменять возвращаемые массивы; это не повлияет на массивы, возвращаемые другим вызывающим сторонам. Компилятор может добавлять дополнительные параметры, которые неявно объявлены в исходном коде («обязательные»), а также параметры, которые не объявлены ни неявно, ни явно в исходном коде («синтетические»), в список параметров метода. См. Parameter для получения дополнительной информации.

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

Returns:
массив массивов, представляющих аннотации формальных и неявных параметров, в порядке объявления, исполняемой единицы, представленной этим объектом
See Also:
  • Parameter
  • Parameter.getAnnotations()

getAnnotation

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

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

Specified by:
getAnnotation в интерфейсе AnnotatedElement
Overrides:
getAnnotation в классе AccessibleObject
Type Parameters:
T - тип аннотации, для которой выполняется запрос и которая возвращается, если присутствует
Parameters:
annotationClass - объект Class, соответствующий типу аннотации
Returns:
аннотация данного элемента для указанного типа аннотации, если она присутствует в этом элементе, в противном случае null
Throws:
NullPointerException - если указанный класс аннотации равен null

getAnnotationsByType

public <T extends Annotation> T[] getAnnotationsByType(Class<T> annotationClass)
Возвращает аннотации, связанные с этим элементом. Если аннотаций, связанных с этим элементом, нет, возвращаемое значение — массив длины 0. Разница между этим методом и AnnotatedElement.getAnnotation(Class) заключается в том, что этот метод определяет, является ли его аргумент повторяемым типом аннотации (JLS 9.6), и если это так, пытается найти одну или несколько аннотаций этого типа, «просматривая» аннотацию-контейнер. Вызывающий метод может изменять возвращаемый массив; это не повлияет на массивы, возвращаемые другим вызывающим сторонам.

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

Specified by:
getAnnotationsByType в интерфейсе AnnotatedElement
Overrides:
getAnnotationsByType в классе AccessibleObject
Type Parameters:
T - тип аннотации, для которого выполняется запрос и которая возвращается, если присутствует
Parameters:
annotationClass - объект Class, соответствующий типу аннотации
Returns:
все аннотации данного элемента для указанного типа аннотации, если они связаны с этим элементом, в противном случае массив длины 0
Throws:
NullPointerException - если указанный класс аннотации равен null

getDeclaredAnnotations

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

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

Specified by:
getDeclaredAnnotations в интерфейсе AnnotatedElement
Overrides:
getDeclaredAnnotations в классе AccessibleObject
Returns:
аннотации, непосредственно присутствующие на этом элементе

getAnnotatedReturnType

public abstract AnnotatedType getAnnotatedReturnType()
Возвращает объект AnnotatedType, представляющий использование типа для указания возвращаемого типа метода/конструктора, представленного этим объектом Executable. Если этот объект Executable представляет конструктор, то объект AnnotatedType представляет тип создаваемого объекта. Если этот объект Executable представляет метод, то объект AnnotatedType представляет использование типа для указания возвращаемого типа метода.
Returns:
объект, представляющий возвращаемый тип метода или конструктора, представленного этим объектом Executable

getAnnotatedReceiverType

public AnnotatedType getAnnotatedReceiverType()
Возвращает объект AnnotatedType, представляющий использование типа для указания типа получателя метода/конструктора, представленного этим объектом Executable. Тип получателя метода/конструктора доступен только в том случае, если метод/конструктор имеет параметр получателя (JLS 8.4.1). Если этот объект Executable представляет метод экземпляра или представляет конструктор внутреннего члена класса, и метод/конструктор либо не имеет параметра получателя, либо имеет параметр получателя без аннотаций на его типе, то возвращаемое значение — объект AnnotatedType, представляющий элемент без аннотаций. Если этот объект Executable представляет статический метод или представляет конструктор верхнего уровня, статического члена, локального или анонимного класса, то возвращаемое значение равно null.
Returns:
объект, представляющий тип получателя метода или конструктора, представленного этим объектом Executable или null, если этот объект Executable не может иметь параметр получателя
См. Спецификацию языка Java:
8.4 Объявления методов
8.4.1 Формальные параметры
8.8 Объявления конструкторов

getAnnotatedParameterTypes

public AnnotatedType[] getAnnotatedParameterTypes()
Возвращает массив объектов AnnotatedType, представляющих использование типов для указания типов формальных параметров метода/конструктора, представленного этим объектом Executable. Порядок объектов в массиве соответствует порядку типов формальных параметров в объявлении метода/конструктора. Возвращает массив длины 0, если метод/конструктор не объявляет параметры. Обратите внимание, что конструкторы некоторых вложенных классов могут иметь неявный параметр в дополнение к явно объявленным. Также обратите внимание, что компактные конструкторы класса записи могут иметь неявные параметры.
Returns:
массив объектов, представляющих типы формальных параметров метода или конструктора, представленного этим объектом Executable

getAnnotatedExceptionTypes

public AnnotatedType[] getAnnotatedExceptionTypes()
Возвращает массив объектов AnnotatedType, представляющих использование типов для указания объявленных исключений метода/конструктора, представленного этим объектом Executable. Порядок объектов в массиве соответствует порядку типов исключений в объявлении метода/конструктора. Возвращает массив длины 0, если метод/конструктор не объявляет исключений.
Returns:
массив объектов, представляющих объявленные исключения метода или конструктора, представленного этим объектом 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://download.java.net/java/early_access/jdk24/docs/api/java.base/java/lang/reflect/Executable.html

Spec-Zone.ru

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