Класс 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) | Возвращает аннотации, связанные с этим элементом. |
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
canAccess, getAnnotations, getDeclaredAnnotation, getDeclaredAnnotations, getDeclaredAnnotationsByType, isAccessible, isAnnotationPresent, setAccessible, setAccessible, trySetAccessible Методы, объявленные в классе java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait Методы, объявленные в интерфейсе java.lang.reflect.AnnotatedElement
getAnnotations, getDeclaredAnnotation, getDeclaredAnnotations, 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, представляющих аннотации формальных параметров, в порядке объявления, для исполняемого элемента Executable , представленного этим объектом. Синтетические и требуемые параметры (см. объяснение ниже), такие как внешний параметр "this" для конструктора внутреннего класса, будут представлены в возвращаемом массиве. Если исполняемый элемент не имеет параметров (то есть нет формальных, синтетических и не требуемых), будет возвращен массив нулевой длины. Если у Executable один или несколько параметров, для каждого параметра без аннотаций возвращается вложенный массив нулевой длины. Объекты аннотаций, содержащиеся в возвращаемых массивах, сериализуемы. Вызывающий метод свободен изменять возвращаемые массивы; это не повлияет на массивы, возвращаемые другим вызывающим сторонам. Компилятор может добавить дополнительные параметры, которые неявно объявлены в исходном коде ("требуемые"), а также параметры, которые не являются ни неявно, ни явно объявленными в исходном коде ("синтетические"), в список параметров метода. См. Parameter для получения дополнительной информации.
- Возвращает:
- массив массивов, представляющих аннотации формальных и неявных параметров в порядке объявления для исполняемого элемента, представленного этим объектом
- См. также:
-
Parameter,AnnotatedElement.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
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не может иметь параметр получателя
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.
https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/reflect/Executable.html