Spec-Zone.ru › OpenJDK 25

Метод класса

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 допускает расширяющие преобразования при сопоставлении фактических параметров вызова с формальными параметрами нижележащего метода, но выбрасывает IllegalArgumentException, если происходит сужающее преобразование.

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

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

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

DECLARED, PUBLIC

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

Модификатор и тип Метод Описание
boolean equals(Object obj)
Сравнивает этот Method с указанным объектом.
AnnotatedType getAnnotatedReturnType()
Возвращает объект AnnotatedType, представляющий использование типа для указания типа возвращаемого значения метода/конструктора, представленного этим Executable.
<T extends Annotation>
T
getAnnotation(Class<T> annotationClass)
Возвращает аннотацию этого элемента для указанного типа, если такая аннотация присутствует, иначе возвращает null.
Annotation[] getDeclaredAnnotations()
Возвращает аннотации, непосредственно присутствующие в этом элементе.
Class<?> getDeclaringClass()
Возвращает объект Class, представляющий класс или интерфейс, в котором объявлен метод, представленный этим объектом.
Object getDefaultValue()
Возвращает значение по умолчанию для элемента аннотации, представленного этим экземпляром Method.
Class<?>[] getExceptionTypes()
Возвращает массив объектов Class, представляющих типы исключений, объявленных как выбрасываемые нижележащим исполняемым элементом, представленным этим объектом.
Type[] getGenericExceptionTypes()
Возвращает массив объектов Type, представляющих исключения, объявленные как выбрасываемые этим объектом исполняемого элемента.
Type[] getGenericParameterTypes()
Возвращает массив объектов Type, представляющих формальные типы параметров исполняемого элемента, представленного этим объектом, в порядке объявления.
Type getGenericReturnType()
Возвращает объект Type, представляющий формальный тип возвращаемого значения метода, представленного этим объектом Method.
int getModifiers()
Возвращает модификаторы языка Java для исполняемого элемента, представленного этим объектом.
String getName()
Возвращает имя метода, представленного этим объектом Method, в виде String.
Annotation[][] getParameterAnnotations()
Возвращает массив массивов объектов Annotation, представляющих аннотации формальных параметров Executable, представленного этим объектом, в порядке объявления.
int getParameterCount()
Возвращает количество формальных параметров исполняемого элемента, представленного этим объектом (независимо от того, объявлены ли они явно, неявно или не объявлены вовсе).
Class<?>[] getParameterTypes()
Возвращает массив объектов Class, представляющих формальные типы параметров исполняемого элемента, представленного этим объектом, в порядке объявления.
Class<?> getReturnType()
Возвращает объект Class, представляющий формальный тип возвращаемого значения метода, представленного этим объектом Method.
TypeVariable<Method>[] getTypeParameters()
Возвращает массив объектов TypeVariable, представляющих переменные типа, объявленные в обобщённом объявлении, представленном этим объектом GenericDeclaration, в порядке объявления.
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.

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

accessFlags, getAnnotatedExceptionTypes, getAnnotatedParameterTypes, getAnnotatedReceiverType, getAnnotationsByType, getParameters

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

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

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

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

Методы, объявленные в интерфейсе 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 находится public в пакете, который модуль, содержащий D, exports как минимум для модуля, содержащего C.
  • Член является protected static, D находится public в пакете, который модуль, содержащий D, экспортирует как минимум для модуля, содержащего C, а C является подклассом D.
  • D находится в пакете, который модуль, содержащий D, opens как минимум для модуля, содержащего C. Все пакеты в безымянных и открытых модулях открыты для всех модулей, поэтому этот метод всегда завершается успешно, если D находится в безымянном или открытом модуле.

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

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

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

Этот метод нельзя использовать для предоставления доступа на запись к немодифицируемому полю final. К немодифицируемым относятся следующие поля:

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

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

Переопределяет:
setAccessible в классе AccessibleObject
Параметры:
flag - новое значение флага accessible
Исключения:
InaccessibleObjectException - если доступ невозможно предоставить
Внешние спецификации
  • Спецификация Java Native Interface
См. также:
  • AccessibleObject.trySetAccessible()
  • MethodHandles.privateLookupIn(Class, 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, в порядке объявления. Если нижележащее обобщенное объявление не объявляет переменных типов, возвращается массив нулевой длины.
Определено в:
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, представляющих формальные типы параметров исполняемого элемента, представленного этим объектом, в порядке объявления. Если нижележащий исполняемый элемент не принимает параметров, возвращается массив нулевой длины. Обратите внимание, что конструкторы некоторых внутренних классов могут иметь неявно объявленный параметр в дополнение к явно объявленным. Также обратите внимание, что компактные конструкторы класса-записи могут иметь неявно объявленные параметры.
Определено в:
getParameterTypes в классе Executable
Возвращает:
типы параметров исполняемого элемента, представленного этим объектом

getParameterCount

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

getGenericParameterTypes

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

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

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

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

getExceptionTypes

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

getGenericExceptionTypes

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

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

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

equals

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

hashCode

public int hashCode()
Возвращает хеш-код этого объекта Method. Хеш-код вычисляется как исключающее ИЛИ хеш-кодов имени класса, объявившего нижележащий метод, и имени метода.
Переопределяет:
hashCode в классе Object
Возвращает:
значение хеш-кода этого объекта
См. также:
  • Object.equals(java.lang.Object)
  • System.identityHashCode(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.

Переопределяет:
toString в классе Object
Возвращает:
строку с описанием этого объекта Method
См. Спецификацию языка Java:
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.

Определено в:
toGenericString в классе Executable
Возвращает:
строку с описанием этого объекта Method, включая параметры типов
См. Спецификацию языка Java:
8.4.3 Модификаторы методов
9.4 Объявления методов
9.6.1 Элементы интерфейсов аннотаций
Появился в версии:
1.5

invoke

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

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

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

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

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

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

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 в базовом API отражения

isDefault

public boolean isDefault()
Возвращает true, если этот метод является методом по умолчанию; в противном случае возвращает false. Метод по умолчанию — это открытый нестатический метод экземпляра, не являющийся абстрактным, то есть нестатический метод с телом, объявленный в интерфейсе.
Возвращает:
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

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в разделе Документация Java SE, содержащем более подробные описания для разработчиков, обзоры концепций, определения терминов, обходные решения и работающие примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или её аффилированных лиц в США и других странах.
Авторские права © 1993, 2025, Oracle и/или её аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 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://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/reflect/Method.html

Spec-Zone.ru

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