Spec-Zone.ru › OpenJDK 8

Класс Метод

  • 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, если произойдёт сужающее преобразование.

См. также:
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()

Возвращает объект 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()

Возвращает массив массивов аннотаций для формальных параметров, в порядке объявления, исполняемого элемента, представленного этим объектом.

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.

String toGenericString()

Возвращает строку, описывающую этот Method, включая параметры типа.

String toString()

Возвращает строку, описывающую этот Method.

Методы унаследованные от класса java.lang.reflect.Executable

getAnnotatedExceptionTypes, getAnnotatedParameterTypes, getAnnotatedReceiverType, getAnnotationsByType, getParameters

Методы унаследованные от класса java.lang.reflect.AccessibleObject

getAnnotations, getDeclaredAnnotation, getDeclaredAnnotationsByType, isAccessible, isAnnotationPresent, setAccessible, setAccessible

Методы унаследованные от класса java.lang.Object

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

Методы унаследованные от интерфейса java.lang.reflect.AnnotatedElement

getAnnotations, getDeclaredAnnotation, getDeclaredAnnotationsByType, isAnnotationPresent

Методы

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 для базового члена
См. также:
Modifier

getTypeParameters

public TypeVariable<Method>[] getTypeParameters()

Возвращает массив объектов TypeVariable, представляющих переменные типов, объявленные обобщенным объявлением, представленным этим объектом GenericDeclaration, в порядке объявления. Возвращает массив длины 0, если базовый обобщенный декларатор не объявляет переменных типов.

Определено в:
getTypeParameters в интерфейсе GenericDeclaration
Определено в:
getTypeParameters в классе Executable
Возвращает:
массив объектов TypeVariable, представляющих переменные типов, объявленные этим обобщенным объявлением
Исключения:
GenericSignatureFormatError - если обобщенная сигнатура этого обобщенного объявления не соответствует формату, указанному в Спецификации Java™ Virtual Machine
С момента:
1.5

getReturnType

public Class<?> getReturnType()

Возвращает объект Class, представляющий формальный тип возвращаемого значения метода, представленного этим объектом Method.

Возвращает:
тип возвращаемого значения для метода, представленного этим объектом

getGenericReturnType

public Type getGenericReturnType()

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

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

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

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

getParameterTypes

public Class<?>[] getParameterTypes()

Возвращает массив объектов Class, представляющих формальные типы параметров в порядке объявления для исполняемого кода, представленного этим объектом. Возвращает массив длиной 0, если базовый исполняемый код не принимает параметры.

Определено в:
getParameterTypes в классе Executable
Возвращает:
типы параметров для исполняемого кода, представленного этим объектом

getParameterCount

public int getParameterCount()

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

Переопределяет:
getParameterCount в классе Executable
Возвращает:
Количество формальных параметров для исполняемого кода, представленного этим объектом
С момента:
1.8

getGenericParameterTypes

public Type[] getGenericParameterTypes()

Возвращает массив объектов Type, представляющих формальные типы параметров в порядке объявления для исполняемого кода, представленного этим объектом. Возвращает массив длиной 0, если базовый исполняемый код не принимает параметры.

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

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

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

getExceptionTypes

public Class<?>[] getExceptionTypes()

Возвращает массив объектов Class, представляющих типы исключений, объявленных для бросания базовым исполняемым кодом, представленным этим объектом. Возвращает массив длиной 0, если исполняемый код не объявляет исключений в своем блоке throws.

Определено в:
getExceptionTypes в классе Executable
Возвращает:
типы исключений, объявленные для бросания исполняемым кодом, представленным этим объектом

getGenericExceptionTypes

public Type[] getGenericExceptionTypes()

Возвращает массив объектов Type, представляющих исключения, объявленные для бросания этим объектом исполняемого кода. Возвращает массив длиной 0, если базовый исполняемый код не объявляет исключений в своем блоке throws.

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

Переопределяет:
getGenericExceptionTypes в классе Executable
Возвращает:
массив типов, представляющих типы исключений, брошенных базовым исполняемым кодом
Исключения:
GenericSignatureFormatError - если обобщенная сигнатура метода не соответствует формату, указанному в Спецификации Java™ Virtual Machine
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(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.

Переопределяет:
toString в классе Object
Возвращает:
строку, описывающую этот объект Method

toGenericString

public String toGenericString()

Возвращает строку, описывающую этот Method, включая параметры типа. Строка отформатирована как модификаторы доступа к методу, если таковые имеются, за которыми следует список параметров типа в угловых скобках через запятую, если они имеются, за которыми следует тип возвращаемого значения метода, за которым следует пробел, за которым следует класс, объявляющий метод, за которым следует точка, за которым следует имя метода, за которым следует список формальных типов параметров метода в скобках через запятую. Если этот метод был объявлен с переменным числом аргументов, вместо обозначения последнего параметра как "Type[]", он обозначается как "Type...". Для разделения модификаторов доступа друг от друга и от параметров типа или типа возвращаемого значения используется пробел. Если параметров типа нет, список параметров типа опускается; если список параметров типа есть, список отделяется от имени класса пробелом. Если метод объявлен с выбрасываемыми исключениями, после списка параметров следует пробел, за которым следует слово throws, а за ним — список типов выбрасываемых исключений через запятую.

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

Указано в:
toGenericString в классе Executable
Возвращает:
строку, описывающую этот Method, включая параметры типа
С тех пор, как:
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.

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

isBridge

public boolean isBridge()

Возвращает true, если этот метод является методом моста; в противном случае возвращает false.

Возвращает:
true, если и только если этот метод является методом моста, как определено в Спецификации языка Java.
С тех пор, как:
1.5

isVarArgs

public boolean isVarArgs()

Возвращает true, если этот исполняемый элемент был объявлен с переменным числом аргументов; в противном случае возвращает false.

Переопределяет:
isVarArgs в классе Executable
Возвращает:
true, если и только если этот исполняемый элемент был объявлен с переменным числом аргументов.
С тех пор, как:
1.5

isSynthetic

public boolean isSynthetic()

Возвращает true, если этот исполняемый элемент является синтетической конструкцией; в противном случае возвращает false.

Указано в:
isSynthetic в интерфейсе Member
Переопределяет:
isSynthetic в классе Executable
Возвращает:
true, если и только если этот исполняемый элемент является синтетической конструкцией, как определено в Спецификации языка Java™.
С тех пор, как:
1.5

isDefault

public boolean isDefault()

Возвращает true, если этот метод является методом по умолчанию; в противном случае возвращает false. Метод по умолчанию — это публичный неабстрактный метод экземпляра, то есть метод без модификатора static с телом, объявленный в типе интерфейса.

Возвращает:
true, если и только если этот метод является методом по умолчанию, как определено в Спецификации языка Java.
С тех пор, как:
1.8

getDefaultValue

public Object getDefaultValue()

Возвращает значение по умолчанию для члена аннотации, представленного этим экземпляром Method. Если член имеет примитивный тип, возвращается экземпляр соответствующего типа обёртки. Возвращает null, если члену не назначено значение по умолчанию или если экземпляр метода не представляет объявленного члена типа аннотации.

Возвращает:
значение по умолчанию для члена аннотации, представленного этим экземпляром Method.
Выбрасывает:
TypeNotPresentException - если аннотация имеет тип Class и определение значения по умолчанию для класса не найдено.
С тех пор, как:
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 в классе Executable
Возвращает:
аннотации, непосредственно присутствующие в этом элементе
С тех пор, как:
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, 2020, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.

Spec-Zone.ru

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