Класс Executable
- java.lang.Object
-
- java.lang.reflect.AccessibleObject
-
- java.lang.reflect.Executable
- Все реализованные интерфейсы:
- AnnotatedElement, GenericDeclaration, Member
- Прямые известные подклассы:
- Constructor, Method
public abstract class Executable extends AccessibleObject implements Member, GenericDeclaration
Общий суперкласс для общего функционала Method и Constructor.
- С момента:
- 1.8
Поля
Поля унаследованные от интерфейса java.lang.reflect.Member
DECLARED, PUBLIC Методы
| Модификатор и тип | Метод и описание |
|---|---|
AnnotatedType[] |
getAnnotatedExceptionTypes() Возвращает массив объектов |
AnnotatedType[] |
getAnnotatedParameterTypes() Возвращает массив объектов |
AnnotatedType |
getAnnotatedReceiverType() Возвращает объект |
abstract AnnotatedType |
getAnnotatedReturnType() Возвращает объект |
<T extends Annotation> |
getAnnotation(Class<T> annotationClass) Возвращает аннотацию элемента для указанного типа, если такая аннотация присутствует, иначе null. |
<T extends Annotation> |
getAnnotationsByType(Class<T> annotationClass) Возвращает аннотации, которые связаны с этим элементом. |
Annotation[] |
getDeclaredAnnotations() Возвращает аннотации, которые непосредственно присутствуют на этом элементе. |
abstract Class<?> |
getDeclaringClass() Возвращает объект |
abstract Class<?>[] |
getExceptionTypes() Возвращает массив объектов |
Type[] |
getGenericExceptionTypes() Возвращает массив объектов |
Type[] |
getGenericParameterTypes() Возвращает массив объектов |
abstract int |
getModifiers() Возвращает модификаторы языка Java для исполняемого элемента, представленного этим объектом. |
abstract String |
getName() Возвращает имя исполняемого элемента, представленного этим объектом. |
abstract Annotation[][] |
getParameterAnnotations() Возвращает массив массивов аннотаций |
int |
getParameterCount() Возвращает количество формальных параметров (явных, неявных или ни тех, ни других) для исполняемого элемента, представленного этим объектом. |
Parameter[] |
getParameters() Возвращает массив объектов |
abstract Class<?>[] |
getParameterTypes() Возвращает массив объектов |
abstract TypeVariable<?>[] |
getTypeParameters() Возвращает массив объектов |
boolean |
isSynthetic() Возвращает |
boolean |
isVarArgs() Возвращает |
abstract String |
toGenericString() Возвращает строку, описывающую этот объект |
Методы унаследованные от класса java.lang.reflect.AccessibleObject
getAnnotations, getDeclaredAnnotation, getDeclaredAnnotationsByType, isAccessible, isAnnotationPresent, setAccessible, setAccessible Методы унаследованные от класса java.lang.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()
Возвращает имя исполняемого элемента, представленного этим объектом.
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тогда и только тогда, когда этот исполняемый элемент был объявлен для приема переменного количества аргументов.
isSynthetic
public boolean isSynthetic()
Возвращает true , если этот исполняемый элемент является искусственной конструкцией; в противном случае возвращает false.
- Указано в:
-
isSyntheticв интерфейсеMember - Возвращает:
- true, если и только если этот исполняемый элемент является искусственной конструкцией, как определено в Спецификации языка Java™.
getParameterAnnotations
public abstract Annotation[][] getParameterAnnotations()
Возвращает массив массивов Annotation, представляющих аннотации формальных параметров, в порядке объявления, исполняемого элемента, представленного этим объектом. Синтетические и предписанные параметры (см. объяснение ниже), такие как внешний параметр "this" для конструктора внутреннего класса, будут представлены в возвращаемом массиве. Если у исполняемого элемента нет параметров (то есть нет формальных, синтетических и предписанных параметров), будет возвращен массив нулевой длины. Если у исполняемого элемента есть один или несколько параметров, для каждого параметра без аннотаций будет возвращен вложенный массив нулевой длины. Аннотации, содержащиеся в возвращаемых массивах, сериализуемы. Вызывающий метод может свободно изменять возвращаемые массивы; это никак не повлияет на массивы, возвращаемые другим вызывающим методам. Компилятор может добавлять дополнительные параметры, которые неявно объявлены в источнике ("предписанные"), а также параметры, которые не являются ни неявно, ни явно объявленными в источнике ("синтетические") в список параметров для метода. См. 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
getAnnotatedParameterTypes
public AnnotatedType[] getAnnotatedParameterTypes()
Возвращает массив объектов AnnotatedType, представляющих использование типов для указания типов формальных параметров метода/конструктора, представленного этим объектом Executable. Порядок объектов в массиве соответствует порядку типов формальных параметров в объявлении метода/конструктора. Возвращает массив длиной 0, если метод/конструктор не объявляет параметров.
- Возвращает:
- массив объектов, представляющих типы формальных параметров метода или конструктора, представленного этим объектом
Executable
getAnnotatedExceptionTypes
public AnnotatedType[] getAnnotatedExceptionTypes()
Возвращает массив объектов AnnotatedType, представляющих использование типов для указания объявленных исключений метода/конструктора, представленного этим объектом Executable. Порядок объектов в массиве соответствует порядку типов исключений в объявлении метода/конструктора. Возвращает массив длиной 0, если метод/конструктор не объявляет исключений.
- Возвращает:
- массив объектов, представляющих объявленные исключения метода или конструктора, представленного этим объектом
Executable
© 1993, 2020, 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.