Spec-Zone.ru › OpenJDK 21

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

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

Модификатор и тип Метод Описание
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:
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, если базовый исполняемый код не принимает параметры. Обратите внимание, что конструкторы некоторых внутренних классов могут иметь неявный параметр в дополнение к явно объявленным. Также обратите внимание, что в качестве моделирующего артефакта количество возвращаемых параметров может отличаться в зависимости от наличия или отсутствия генерической информации. Если генерическая информация есть, будут возвращены только параметры, явно присутствующие в исходном коде; если генерическая информация отсутствует, могут быть возвращены также неявные и синтетические параметры.

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

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

Spec-Zone.ru

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