Spec-Zone.ru › OpenJDK 24

Класс метода

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

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

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

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

accessFlags, 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 для этого отражённого объекта на указанное булево значение. Значение 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 находится в безымянном или открытом модуле.

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

  • Член является public, и D находится в пакете, к которому модуль, содержащий D exports безусловно.

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

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

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

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

Overrides:
setAccessible в классе AccessibleObject
Параметры:
flag - новое значение для флага accessible
Исключения:
InaccessibleObjectException - если доступ нельзя включить
Внешние спецификации
  • Спецификация Java Native Interface
См. также:
  • 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 Модификаторы метода
См. также:
  • Executable.accessFlags()

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()
Возвращает количество формальных параметров (явных, неявных или ни тех, ни других) для исполняемого объекта, представленного этим объектом.
Определено в:
getParameterCount в классе Executable
Возвращает:
Количество формальных параметров для исполняемого объекта, представленного этим объектом
С:
1.8
END_OF_DOCUMENT_MARKER

getGenericParameterTypes

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

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

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

Overrides:
getGenericParameterTypes в классе Executable
Returns:
массив Type, представляющих формальные типы параметров подлежащего исполнению, в порядке объявления
Throws:
GenericSignatureFormatError - если сигнатура генерического метода не соответствует формату, указанному в Спецификации виртуальной машины Java
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
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 Модификаторы метода
9.4 Объявления методов
9.6.1 Элементы интерфейса аннотации

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 Модификаторы метода
9.4 Объявления методов
9.6.1 Элементы интерфейса аннотации
Since:
1.5

вызов

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

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

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

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

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

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

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

isBridge

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

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

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

isVarArgs

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

isSynthetic

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

isDefault

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

getDefaultValue

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

getAnnotation

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

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

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

getDeclaredAnnotations

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

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

Указано в:
getDeclaredAnnotations в интерфейсе AnnotatedElement
Переопределяет:
getDeclaredAnnotations в классе AccessibleObject
Возвращает:
непосредственно присутствующие на этом элементе аннотации
С момента:
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, 2025, 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://download.java.net/java/early_access/jdk24/docs/api/java.base/java/lang/reflect/Method.html

Spec-Zone.ru

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