Spec-Zone.ru › OpenJDK 17

Класс 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.
С момента:
1.8

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

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

DECLARED, PUBLIC

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

Модификатор и тип Метод Описание
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, представленного этим объектом.
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 для исполняемого элемента, представленного этим объектом
См. также:
  • Modifier

getTypeParameters

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

getParameterTypes

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

getParameterCount

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

getGenericParameterTypes

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

Если формальный тип параметра является параметризованным типом, возвращаемый объект 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, представляющих типы исключений, объявленных для выбрасывания базовым исполняемым элементом, представленным этим объектом. Возвращает массив длиной 0, если исполняемый элемент не объявляет исключений в своем блоке throws.
Возвращает:
типы исключений, объявленные как выбрасываемые исполняемым элементом, который представляет этот объект

getGenericExceptionTypes

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

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

Возвращает:
массив типов, представляющих типы исключений, выбрасываемые базовым исполняемым элементом
Изначает:
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()

Получение аннотации

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

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

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

Получение аннотаций по типу

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

Получение объявленных аннотаций

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

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

Указано в:
getDeclaredAnnotations в интерфейсе AnnotatedElement
Переопределяет:
getDeclaredAnnotations в классе AccessibleObject
Возвращает:
аннотации, непосредственно присутствующие на этом элементе

Получение анотированного возвращаемого типа

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

Получение анотированного типа получателя

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

Получение анотированных типов параметров

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

Получение анотированных типов исключений

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

© 1993, 2021, 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/17/docs/api/java.base/java/lang/reflect/Executable.html

Spec-Zone.ru

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