Spec-Zone.ru › OpenJDK 17

Класс метода

java.lang.Object
java.lang.reflect.AccessibleObject
java.lang.reflect.Executable
java.lang.reflect.Method
Все реализуемые интерфейсы:
AnnotatedElement, GenericDeclaration, Member
public final class Method extends Executable
Объект java.lang.reflect.Method предоставляет информацию о и доступ к одному методу в классе или интерфейсе. Отраженный метод может быть статическим или экземпляром метода (включая абстрактный метод).

Объект java.lang.reflect.Method допускает расширяющие преобразования при сопоставлении фактических параметров с вызовом с формальными параметрами базового метода, но генерирует исключение java.lang.IllegalArgumentException при сужающем преобразовании.

С момента:
1.1
См. также:
  • Member
  • Class
  • Class.getMethods()
  • Class.getMethod(String, Class[])
  • Class.getDeclaredMethods()
  • Class.getDeclaredMethod(String, Class[])

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

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

DECLARED, PUBLIC

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

Модификатор и тип Метод Описание
boolean equals(Object obj)
Сравнивает этот объект java.lang.reflect.Method с указанным объектом.
AnnotatedType getAnnotatedReturnType()
Возвращает объект java.lang.reflect.Type, представляющий использование типа для указания возвращаемого типа метода/конструктора, представленного этим объектом java.lang.reflect.Executable.
<T extends Annotation>
T
getAnnotation(Class<T> annotationClass)
Возвращает аннотацию данного элемента для указанного типа, если такая аннотация присутствует, иначе null.
Annotation[] getDeclaredAnnotations()
Возвращает аннотации, непосредственно присутствующие на этом элементе.
Class<?> getDeclaringClass()
Возвращает объект java.lang.Class, представляющий класс или интерфейс, объявляющий метод, представленный этим объектом.
Object getDefaultValue()
Возвращает значение по умолчанию для члена аннотации, представленного этим объектом java.lang.reflect.Method.
Class<?>[] getExceptionTypes()
Возвращает массив объектов java.lang.Class, представляющих типы исключений, которые, как объявлено, могут быть брошены базовым исполняемым кодом, представленным этим объектом.
Type[] getGenericExceptionTypes()
Возвращает массив объектов java.lang.Class, представляющих исключения, которые, как объявлено, могут быть брошены этим объектом.
Type[] getGenericParameterTypes()
Возвращает массив объектов java.lang.Class, представляющих типы формальных параметров, в порядке объявления, исполняемого кода, представленного этим объектом.
Type getGenericReturnType()
Возвращает объект java.lang.Class, представляющий формальный возвращаемый тип метода, представленного этим объектом java.lang.reflect.Method.
int getModifiers()
Возвращает модификаторы языка Java для исполняемого кода, представленного этим объектом.
String getName()
Возвращает имя метода, представленного этим объектом java.lang.reflect.Method, как строку.
Annotation[][] getParameterAnnotations()
Возвращает массив массивов объектов аннотаций для формальных параметров, в порядке объявления, исполняемого кода, представленного этим объектом.
int getParameterCount()
Возвращает количество формальных параметров (явных, неявных или ни тех, ни других) для исполняемого кода, представленного этим объектом.
Class<?>[] getParameterTypes()
Возвращает массив объектов java.lang.Class, представляющих типы формальных параметров, в порядке объявления, исполняемого кода, представленного этим объектом.
Class<?> getReturnType()
Возвращает объект java.lang.Class, представляющий формальный возвращаемый тип метода, представленного этим объектом java.lang.reflect.Method.
TypeVariable<Method>[] getTypeParameters()
Возвращает массив объектов java.lang.reflect.TypeVariable, представляющих переменные типов, объявленные в генерическом объявлении, представленном этим объектом java.lang.reflect.Method, в порядке объявления.
int hashCode()
Возвращает хэш-код для этого объекта java.lang.reflect.Method.
Object invoke(Object obj, Object... args)
Вызывает базовый метод, представленный этим объектом, для указанного объекта с указанными параметрами.
boolean isBridge()
Возвращает true, если этот метод является методом-мостом; возвращает false в противном случае.
boolean isDefault()
Возвращает true, если этот метод является методом по умолчанию; возвращает false в противном случае.
boolean isSynthetic()
Возвращает true, если этот исполняемый код является синтетической конструкцией; возвращает false в противном случае.
boolean isVarArgs()
Возвращает true, если этот исполняемый код объявлен с переменным числом аргументов; возвращает false в противном случае.
void setAccessible(boolean flag)
Устанавливает флаг доступности для данного отраженного объекта.
String toGenericString()
Возвращает строку, описывающую этот объект java.lang.reflect.Method, включая параметры типа.
String toString()
Возвращает строку, описывающую этот объект java.lang.reflect.Method.

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

getAnnotatedExceptionTypes, getAnnotatedParameterTypes, getAnnotatedReceiverType, getAnnotationsByType, getParameters

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

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

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

clone, finalize, getClass, notify, notifyAll, wait, wait, wait

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

getAnnotations, getDeclaredAnnotation, getDeclaredAnnotationsByType, isAnnotationPresent

Подробное описание методов

setAccessible

public void setAccessible(boolean flag)
Описание скопировано из класса: AccessibleObject
Установить флаг accessible для этого отражённого объекта на указанное значение boolean. Значение true указывает, что отражённый объект должен игнорировать проверки контроля доступа языка Java при его использовании. Значение false указывает, что отражённый объект должен выполнять проверки контроля доступа языка Java при его использовании, с вариацией, отмеченной в описании класса.

Этот метод может использоваться вызывающей стороной в классе C для разрешения доступа к member объекта declaring class D в следующих случаях:

  • C и D находятся в одном модуле.
  • Член является public, а D находится в пакете, к которому модуль, содержащий D exports по меньшей мере к модулю, содержащему C.
  • Член является protected static, D находится в пакете, к которому модуль, содержащий D экспортирует по меньшей мере в модуль, содержащий C, а C является подклассом D.
  • D находится в пакете, к которому модуль, содержащий D opens по меньшей мере к модулю, содержащему C. Все пакеты в безымянных и открытых модулях открыты для всех модулей, поэтому этот метод всегда выполняется успешно, когда D находится в безымянном или открытом модуле.

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

Этот метод не может использоваться для разрешения записи доступа к неизменяемому конечному полю. Следующие поля не изменяемы:

  • статические конечные поля, объявленные в любом классе или интерфейсе
  • конечные поля, объявленные в скрытом классе
  • конечные поля, объявленные в записи

Флаг accessible при true подавляет проверки контроля доступа языка Java для разрешения только чтения доступа к этим неизменяемым конечным полям.

Если существует менеджер безопасности, его метод checkPermission сначала вызывается с разрешением ReflectPermission("suppressAccessChecks").

Overrides:
setAccessible в классе AccessibleObject
Параметры:
flag - новое значение для флага accessible
Возвращает:
InaccessibleObjectException - если доступ не может быть разрешен
SecurityException - если запрос отклонен менеджером безопасности
См. также:
  • AccessibleObject.trySetAccessible()
  • MethodHandles.privateLookupIn(java.lang.Class<?>, java.lang.invoke.MethodHandles.Lookup)

getDeclaringClass

public Class<?> getDeclaringClass()
Возвращает объект Class , представляющий класс или интерфейс, объявляющий метод, представленный этим объектом.
Указано в:
getDeclaringClass в интерфейсе Member
Указано в:
getDeclaringClass в классе Executable
Возвращает:
объект, представляющий класс, объявивший подлежащий член

getName

public String getName()
Возвращает имя метода, представленного этим объектом Method, как String.
Указано в:
getName в интерфейсе Member
Указано в:
getName в классе Executable
Возвращает:
простое имя подлежащего члена

getModifiers

public int getModifiers()
Возвращает модификаторы языка Java для выполняемого кода, представленного этим объектом.
Указано в:
getModifiers в интерфейсе Member
Указано в:
getModifiers в классе Executable
Возвращает:
модификаторы языка Java для выполняемого кода, представленного этим объектом
См. Спецификацию языка Java:
8.4.3 Модификаторы метода
См. также:
  • Modifier

getTypeParameters

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

getReturnType

public Class<?> getReturnType()
Возвращает объект Class, который представляет формальный возвращаемый тип метода, представленного этим объектом Method.
Возвращает:
тип возвращаемого значения для метода, который представляет этот объект

getGenericReturnType

public Type getGenericReturnType()
Возвращает объект Type, который представляет формальный возвращаемый тип метода, представленного этим объектом Method.

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

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

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

getParameterTypes

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

getParameterCount

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

getGenericParameterTypes

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

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

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

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

getExceptionTypes

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

getGenericExceptionTypes

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

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

Overrides:
getGenericExceptionTypes в классе Executable
Returns:
массив типов, представляющих типы исключений, выбрасываемых подлежащим исполняемым кодом
Throws:
GenericSignatureFormatError - если сигнатура дженеричного метода не соответствует формату, указанному в Спецификации Java Virtual Machine
TypeNotPresentException - если throws раздел подлежащего исполняемого кода ссылается на необъявленный тип
MalformedParameterizedTypeException - если throws раздел подлежащего исполняемого кода ссылается на параметризованный тип, который нельзя создать по какой-либо причине
Since:
1.5

equals

public boolean equals(Object obj)
Сравнивает данный Method с указанным объектом. Возвращает true, если объекты одинаковы. Два Methods одинаковы, если они были объявлены одним и тем же классом и имеют одинаковое имя, формальные типы параметров и тип возвращаемого значения.
Overrides:
equals в классе Object
Parameters:
obj - объект-ссылка для сравнения.
Returns:
true , если этот объект такой же, как аргумент obj; false в противном случае.
See Also:
  • Object.hashCode()
  • HashMap

hashCode

public int hashCode()
Возвращает хэш-код для этого Method. Хэш-код вычисляется как исключающее ИЛИ хэш-кодов имени объявляющего класса и имени метода подлежащего метода.
Overrides:
hashCode в классе Object
Returns:
значение хэш-кода для этого объекта.
See Also:
  • Object.equals(java.lang.Object)
  • System.identityHashCode(java.lang.Object)

toString

public String toString()
Возвращает строку, описывающую этот Method. Строка отформатирована как модификаторы доступа к методу, если таковые имеются, за которыми следует тип возвращаемого значения метода, за которым следует пробел, за которым следует класс, объявляющий метод, за которым следует точка, за которым следует имя метода, за которым следует заключённый в скобки перечисленный через запятую список формальных типов параметров метода. Если метод выбрасывает проверяемые исключения, список параметров следует за пробелом, за которым следует слово "throws" и за которым следует перечисленный через запятую список типов исключений, которые выбрасываются. Например:
    public boolean java.lang.Object.equals(java.lang.Object)
 

Модификаторы доступа располагаются в каноническом порядке, как указано в "Спецификации языка Java". Это public, protected или private в первую очередь, а затем другие модификаторы в следующем порядке: abstract, default, static, final, synchronized, native, strictfp.

Overrides:
toString в классе Object
Returns:
строка, описывающая данный Method
See Java Language Specification:
8.4.3 Method Modifiers
9.4 Method Declarations
9.6.1 Annotation Interface Elements

toGenericString

public String toGenericString()
Возвращает строку, описывающую данный Method, включая параметры типов. Строка отформатирована как модификаторы доступа к методу, если таковые имеются, за которыми следует заключённый в угловые скобки перечисленный через запятую список параметров типа метода, если таковые имеются, включая информативные границы параметров типа, если таковые имеются, за которыми следует дженерический тип возвращаемого значения метода, за которым следует пробел, за которым следует класс, объявляющий метод, за которым следует точка, за которым следует имя метода, за которым следует заключённый в скобки перечисленный через запятую список дженерических формальных типов параметров метода. Если для этого метода было объявлено переменное количество аргументов, вместо обозначения последнего параметра как "Type[]", он обозначается как "Type...". Пробел используется для разделения модификаторов доступа друг от друга и от параметров типа или типа возврата. Если нет параметров типа, список параметров типа пропускается; если список параметров типа присутствует, список разделяется от имени класса пробелом. Если метод объявлен для выбрасывания исключений, за списком параметров следует пробел, за которым следует слово "throws", за которым следует перечисленный через запятую список типов генерических исключений, которые выбрасываются.

Модификаторы доступа располагаются в каноническом порядке, как указано в "Спецификации языка Java". Это public, protected или private в первую очередь, а затем другие модификаторы в следующем порядке: abstract, default, static, final, synchronized, native, strictfp.

Specified by:
toGenericString в классе Executable
Returns:
строка, описывающая данный Method, включая параметры типов
See Java Language Specification:
8.4.3 Method Modifiers
9.4 Method Declarations
9.6.1 Annotation Interface Elements
Since:
1.5

invoke

public Object invoke(Object obj, Object... args) throws IllegalAccessException, IllegalArgumentException, InvocationTargetException
Вызывает базовое метод, представленный этим Method объектом, для указанного объекта с указанными параметрами. Отдельные параметры автоматически распаковываются для соответствия примитивным формальным параметрам, и как примитивные, так и ссылочные параметры подлежат преобразованиям вызова метода по мере необходимости.

Если базовым методом является статический метод, то указанный obj аргумент игнорируется. Он может быть null.

Если число формальных параметров, требуемых базовым методом, равно 0, предоставленный args массив может иметь длину 0 или быть null.

Если базовый метод является методом экземпляра, он вызывается с помощью динамического поиска метода, как документировано в Спецификации языка Java, раздел 15.12.4.4; в частности, может произойти переопределение на основе времени выполнения типа целевого объекта.

Если базовый метод статический, класс, объявивший метод, инициализируется, если он еще не был инициализирован.

Если метод завершается нормально, возвращаемое им значение возвращается вызывающей стороне invoke; если значение имеет примитивный тип, оно сначала соответствующим образом оборачивается в объект. Однако, если значение имеет тип массива примитивного типа, элементы массива не оборачиваются в объекты; другими словами, возвращается массив примитивного типа. Если базовый тип возвращаемого значения метода void, вызов возвращает null.

Parameters:
obj - объект, из которого вызывается базовый метод
args - аргументы, используемые для вызова метода
Returns:
результат диспетчеризации метода, представленного этим объектом, для obj с параметрами args
Throws:
IllegalAccessException - если этот Method объект обеспечивает контроль доступа языка Java, и базовый метод недоступен.
IllegalArgumentException - если метод является методом экземпляра и указанный аргумент объекта не является экземпляром класса или интерфейса, объявляющего базовый метод (или подкласса или реализующего его); если количество фактических и формальных параметров отличается; если преобразование распаковки для примитивных аргументов завершается неудачей; или если после возможной распаковки значение параметра не может быть преобразовано в соответствующий формальный тип параметра с помощью преобразования вызова метода.
InvocationTargetException - если базовый метод генерирует исключение.
NullPointerException - если указанный объект равен null, и метод является методом экземпляра.
ExceptionInInitializerError - если инициализация, вызванная этим методом, завершается неудачей.

isBridge

public boolean isBridge()
Возвращает true если этот метод является мостовым методом; в противном случае возвращает false.
API Note:
Мостовой метод — это синтетический метод, созданный компилятором Java вместе с методом, происходящим из исходного кода. Мостовые методы используются компиляторами Java в различных ситуациях для преодоления различий в семантике языка программирования Java и JVM.

Один из примеров использования мостовых методов — как техника для компилятора Java, чтобы поддерживать ковариантные переопределения, где подкласс переопределяет метод и придает новому методу более конкретный тип возвращаемого значения, чем методу в суперклассе. Хотя спецификация языка Java запрещает классу объявлять два метода с одинаковыми типами параметров, но с разным типом возвращаемого значения, виртуальная машина этого не делает. Распространенный случай, когда используются ковариативные переопределения, — для класса Cloneable, где метод clone, унаследованный от java.lang.Object переопределяется и объявляется возвращающим тип класса. Например, Object объявляет

protected Object clone() throws CloneNotSupportedException {...}
и EnumSet<E> объявляет свой ковариативный переопределенный метод уровня языка ковариантное переопределение
public EnumSet<E> clone() {...}
Если эта техника используется, результирующий файл класса для EnumSet будет иметь два clone метода, один возвращающий EnumSet<E> и второй — мостовой метод, возвращающий Object. Мостовой метод — это мостовой метод JVM-уровня для переопределения Object.clone(). Тело мостового метода clone вызывает свой не-мостовой аналог и возвращает его результат.
Returns:
true если этот метод является мостовым; в противном случае возвращает false
См. Спецификацию языка Java:
8.4.8.3 Требования при переопределении и скрытии
15.12.4.5 Создание фрейма, синхронизация, передача управления
См. Спецификацию виртуальной машины Java:
4.6 Методы
Since:
1.5
См. также:
  • Моделирование языка программирования Java и JVM в отражении ядра

isVarArgs

public boolean isVarArgs()
Возвращает true если этот исполняемый элемент был объявлен для принятия переменного числа аргументов; в противном случае возвращает false.
Overrides:
isVarArgs в классе Executable
Returns:
true если этот исполняемый элемент был объявлен для принятия переменного числа аргументов; в противном случае возвращает false
См. Спецификацию языка Java:
8.4.1 Формальные параметры
Since:
1.5

isSynthetic

public boolean isSynthetic()
Возвращает true если этот исполняемый элемент является синтезированным элементом; в противном случае возвращает false.
Specified by:
isSynthetic в интерфейсе Member
Overrides:
isSynthetic в классе Executable
Returns:
true, если и только если этот исполняемый элемент является синтезированным элементом, как определено в Спецификации языка Java.
См. Спецификацию языка Java:
13.1 Формат двоичного файла
См. Спецификацию виртуальной машины Java:
4.6 Методы
Since:
1.5
См. также:
  • Моделирование языка программирования Java и JVM в отражении ядра

isDefault

public boolean isDefault()
Возвращает true если этот метод является методом по умолчанию; в противном случае возвращает false. Метод по умолчанию — это публичный, неабстрактный метод экземпляра, то есть метод, не являющийся статическим, с телом, объявленный в интерфейсе.
Returns:
true, если и только если этот метод является методом по умолчанию, как определено в Спецификации языка Java.
См. Спецификацию языка Java:
9.4 Объявления методов
Since:
1.8

getDefaultValue

public Object getDefaultValue()
Возвращает значение по умолчанию для члена аннотации, представленного этим Method экземпляром. Если член имеет примитивный тип, возвращается экземпляр соответствующего типа обёртки. Возвращает null, если члену не назначено значение по умолчанию или если экземпляр метода не представляет объявленного члена типа аннотации.
Returns:
значение по умолчанию для члена аннотации, представленного этим Method экземпляром.
Throws:
TypeNotPresentException - если аннотация имеет тип Class и определение значения по умолчанию для класса не найдено.
См. Спецификацию языка Java:
9.6.2 Значения по умолчанию для элементов типа аннотации
Since:
1.5

getAnnotation

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

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

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

getDeclaredAnnotations

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

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

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

getParameterAnnotations

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

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

Указано:
getParameterAnnotations в классе Executable
Возвращает:
массив массивов, представляющих аннотации формальных и неявных параметров, в порядке объявления, исполняемого объекта, представленного этим объектом
С:
1.5
См. также:
  • Parameter
  • Parameter.getAnnotations()

getAnnotatedReturnType

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

© 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/Method.html

Spec-Zone.ru

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