Spec-Zone.ru › OpenJDK 27

Метод интерфейса

Все суперинтерфейсы:
Accessible, Comparable<Method>, Locatable, Mirror, TypeComponent
public interface Method extends TypeComponent, Locatable, Comparable<Method>
Статический или экземплярный метод в целевой виртуальной машине. Общие сведения о зеркалах полей и методов см. в TypeComponent.
Начиная с:
1.3
См. также:
  • ObjectReference
  • ReferenceType

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

Модификатор и тип Метод Описание
List<Location> allLineLocations()
Возвращает список, содержащий объект Location для каждой исполняемой строки исходного кода в этом методе.
List<Location> allLineLocations(String stratum, String sourceName)
Возвращает список, содержащий объект Location для каждой исполняемой строки исходного кода в этом методе.
List<LocalVariable> arguments()
Возвращает список, содержащий каждую LocalVariable, объявленную в качестве аргумента этого метода.
List<String> argumentTypeNames()
Возвращает список, содержащий текстовое представление типа каждого формального параметра этого метода.
List<Type> argumentTypes()
Возвращает список, содержащий тип каждого формального параметра этого метода.
byte[] bytecodes()
Возвращает массив, содержащий байт-коды этого метода.
boolean equals(Object obj)
Сравнивает указанный объект с этим методом на равенство.
int hashCode()
Возвращает значение хеш-кода для этого метода.
boolean isAbstract()
Определяет, является ли этот метод абстрактным.
boolean isBridge()
Определяет, является ли этот метод мостовым методом.
boolean isConstructor()
Определяет, является ли этот метод конструктором.
default boolean isDefault()
Определяет, является ли этот метод методом по умолчанию.
boolean isNative()
Определяет, является ли этот метод нативным.
boolean isObsolete()
Определяет, является ли этот метод устаревшим.
boolean isStaticInitializer()
Определяет, является ли этот метод статическим инициализатором.
boolean isSynchronized()
Определяет, является ли этот метод синхронизированным.
boolean isVarArgs()
Определяет, принимает ли этот метод переменное число аргументов.
Location location()
Возвращает Location этого метода, если с ним связан исполняемый код.
Location locationOfCodeIndex(long codeIndex)
Возвращает Location для указанного индекса кода.
List<Location> locationsOfLine(int lineNumber)
Возвращает список, содержащий все объекты Location, соответствующие указанному номеру строки.
List<Location> locationsOfLine(String stratum, String sourceName, int lineNumber)
Возвращает список, содержащий все объекты Location, соответствующие указанным номеру строки и имени исходного файла.
Type returnType()
Возвращает тип возвращаемого значения, указанный в объявлении этого метода.
String returnTypeName()
Возвращает текстовое представление типа возвращаемого значения, указанного в объявлении этого метода.
List<LocalVariable> variables()
Возвращает список, содержащий каждую LocalVariable, объявленную в этом методе.
List<LocalVariable> variablesByName(String name)
Возвращает список, содержащий каждую LocalVariable с указанным именем в этом методе.

Методы, объявленные в интерфейсе Accessible

isPackagePrivate, isPrivate, isProtected, isPublic, modifiers
Модификатор и тип Метод Описание
boolean isPackagePrivate()
Определяет, является ли этот объект зеркалом элемента с доступом на уровне пакета.
boolean isPrivate()
Определяет, является ли этот объект зеркалом закрытого элемента.
boolean isProtected()
Определяет, является ли этот объект зеркалом защищенного элемента.
boolean isPublic()
Определяет, является ли этот объект зеркалом общедоступного элемента.
int modifiers()
Возвращает модификаторы языка программирования Java, закодированные в виде целого числа.

Методы, объявленные в интерфейсе Comparable

compareTo
Модификатор и тип Метод Описание
int compareTo(Method o)
Сравнивает этот объект с указанным объектом для определения порядка.

Методы, объявленные в интерфейсе Mirror

toString, virtualMachine
Модификатор и тип Метод Описание
String toString()
Возвращает строку с описанием этого зеркала.
VirtualMachine virtualMachine()
Возвращает виртуальную машину, которой принадлежит это зеркало.

Методы, объявленные в интерфейсе TypeComponent

declaringType, genericSignature, isFinal, isStatic, isSynthetic, name, signature
Модификатор и тип Метод Описание
ReferenceType declaringType()
Возвращает тип, в котором был объявлен этот компонент.
String genericSignature()
Возвращает обобщенную сигнатуру этого компонента типа, если она есть.
boolean isFinal()
Определяет, является ли этот компонент типа окончательным.
boolean isStatic()
Определяет, является ли этот компонент типа статическим.
boolean isSynthetic()
Определяет, является ли этот компонент типа синтетическим.
String name()
Возвращает имя этого компонента типа.
String signature()
Возвращает сигнатуру типа этого компонента типа.

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

returnTypeName

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

Это имя типа доступно всегда, даже если тип еще не создан или не загружен.

Возвращает:
String, содержащее имя типа возвращаемого значения.

returnType

Type returnType() throws ClassNotLoadedException
Возвращает тип возвращаемого значения, указанный в объявлении этого метода.

Примечание: если тип возвращаемого значения этого метода является ссылочным типом (классом, интерфейсом или массивом) и он не был создан или загружен загрузчиком классов объявляющего типа (то есть declaringType() .classLoader()), будет выброшено исключение ClassNotLoadedException. Ссылочный тип также может быть загружен, но еще не подготовлен; в этом случае тип будет возвращен, однако попытки выполнить некоторые операции с возвращенным типом (например, fields()) приведут к выбрасыванию исключения ClassNotPreparedException. Используйте ReferenceType.isPrepared(), чтобы определить, подготовлен ли ссылочный тип.

Возвращает:
возвращаемый Type этого метода.
Вызывает:
ClassNotLoadedException — если тип еще не создан или не загружен соответствующим загрузчиком классов.
См. также:
  • Type
  • Field.type() — примеры использования

argumentTypeNames

List<String> argumentTypeNames()
Возвращает список, содержащий текстовое представление типа каждого формального параметра этого метода.

Этот список всегда доступен, даже если типы еще не созданы или не загружены.

Возвращает:
List объектов String, по одному элементу List для каждого параметра этого метода. Каждый элемент представляет тип формального параметра, заданный во время компиляции. Если формальный параметр объявлен с многоточием, он представлен как массив типа, указанного перед многоточием.

argumentTypes

List<Type> argumentTypes() throws ClassNotLoadedException
Возвращает список, содержащий тип каждого формального параметра этого метода.

Примечание: если тип хотя бы одного параметра является ссылочным типом (классом, интерфейсом или массивом) и он не был создан или загружен загрузчиком классов объявляющего типа (то есть declaringType() .classLoader()), будет выброшено исключение ClassNotLoadedException. Ссылочный тип также может быть загружен, но еще не подготовлен; в этом случае список будет возвращен, однако попытки выполнить некоторые операции с типом (например, fields()) приведут к выбрасыванию исключения ClassNotPreparedException. Используйте ReferenceType.isPrepared(), чтобы определить, подготовлен ли ссылочный тип.

Возвращает:
возвращает List объектов Type, по одному элементу List для каждого параметра этого метода. Каждый элемент представляет тип формального параметра, заданный во время компиляции. Если формальный параметр объявлен с многоточием, он представлен как массив типа, указанного перед многоточием.
Вызывает:
ClassNotLoadedException — если тип еще не загружен соответствующим загрузчиком классов.
См. также:
  • Type

isAbstract

boolean isAbstract()
Определяет, является ли этот метод абстрактным.
Возвращает:
true, если метод объявлен как абстрактный; в противном случае — false.

isDefault

default boolean isDefault()
Определяет, является ли этот метод методом по умолчанию.
Возвращает:
true, если метод объявлен как метод по умолчанию; в противном случае — false.
Начиная с:
1.8

isSynchronized

boolean isSynchronized()
Определяет, является ли этот метод синхронизированным.
Возвращает:
true, если метод объявлен как синхронизированный; в противном случае — false.

isNative

boolean isNative()
Определяет, является ли этот метод нативным.
Возвращает:
true, если метод объявлен как нативный; в противном случае — false.

isVarArgs

boolean isVarArgs()
Определяет, принимает ли этот метод переменное число аргументов.
Возвращает:
true, если метод принимает переменное число аргументов; в противном случае — false.
Начиная с:
1.5

isBridge

boolean isBridge()
Определяет, является ли этот метод мостовым методом. Мостовые методы определены в Спецификации языка Java.
Возвращает:
true, если метод является мостовым; в противном случае — false.
Начиная с:
1.5

isConstructor

boolean isConstructor()
Определяет, является ли этот метод конструктором.
Возвращает:
true, если метод является конструктором; в противном случае — false.

isStaticInitializer

boolean isStaticInitializer()
Определяет, является ли этот метод статическим инициализатором.
Возвращает:
true, если метод является статическим инициализатором; в противном случае — false.

isObsolete

boolean isObsolete()
Определяет, является ли этот метод устаревшим.
Возвращает:
true, если этот метод стал устаревшим в результате операции VirtualMachine.redefineClasses(Map).
Начиная с:
1.4

allLineLocations

List<Location> allLineLocations() throws AbsentInformationException
Возвращает список, содержащий объект Location для каждой исполняемой строки исходного кода в этом методе.

Этот метод эквивалентен allLineLocations(vm.getDefaultStratum(),null); дополнительные сведения см. в allLineLocations(String,String).

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

allLineLocations

List<Location> allLineLocations(String stratum, String sourceName) throws AbsentInformationException
Возвращает список, содержащий объект Location для каждой исполняемой строки исходного кода в этом методе.

Каждое местоположение сопоставляет строку исходного кода с диапазоном индексов кода. Начало диапазона можно определить с помощью Location.codeIndex(). Возвращаемый список упорядочен по индексу кода (от меньшего к большему).

Возвращаемый список может содержать несколько местоположений для определенного номера строки, если компилятор и/или виртуальная машина сопоставили этой строке два или более несмежных диапазона индексов кода.

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

Возвращаемый список относится к указанному слою (описание слоев см. в Location).

Параметры:
stratum — слой, из которого следует получить информацию, или null для ReferenceType.defaultStratum()
sourceName — возвращать местоположения только в этом исходном файле или null для возврата местоположений.
Возвращает:
список всех объектов Location строк исходного кода.
Вызывает:
AbsentInformationException — если для этого (ненативного, неабстрактного) метода отсутствует информация о номерах строк. Также выбрасывается, если sourceName не равен null и информация об имени исходного файла отсутствует.
Начиная с:
1.4

locationsOfLine

List<Location> locationsOfLine(int lineNumber) throws AbsentInformationException
Возвращает список, содержащий все объекты Location, соответствующие указанному номеру строки.

Этот метод эквивалентен locationsOfLine(vm.getDefaultStratum(), null, lineNumber); дополнительные сведения см. в locationsOfLine(java.lang.String,java.lang.String,int).

Параметры:
lineNumber — номер строки
Возвращает:
список объектов Location, соответствующих указанному номеру строки.
Вызывает:
AbsentInformationException — если для этого метода отсутствует информация о номерах строк.

locationsOfLine

List<Location> locationsOfLine(String stratum, String sourceName, int lineNumber) throws AbsentInformationException
Возвращает список, содержащий все объекты Location, соответствующие указанным номеру строки и имени исходного файла.

Возвращает список, содержащий каждую Location, соответствующую указанной строке. Возвращаемый список будет содержать местоположение для каждого несмежного диапазона индексов кода, назначенного указанной строке компилятором и/или виртуальной машиной. Каждое возвращаемое местоположение соответствует началу такого диапазона. Если в указанном номере строки нет исполняемого кода, будет возвращен пустой список; в частности, для нативных и абстрактных методов всегда возвращается пустой список.

Возвращаемый список относится к указанному слою (описание слоев см. в Location).

Параметры:
stratum — слой, используемый для сравнения номера строки и имени исходного файла, или null для использования слоя по умолчанию
sourceName — имя исходного файла, содержащего номер строки, или null для сопоставления со всеми именами исходных файлов
lineNumber — номер строки
Возвращает:
список объектов Location, соответствующих указанному номеру строки.
Вызывает:
AbsentInformationException — если для этого метода отсутствует информация о номерах строк. Также выбрасывается, если sourceName не равен null и информация об имени исходного файла отсутствует.
Начиная с:
1.4

locationOfCodeIndex

Location locationOfCodeIndex(long codeIndex)
Возвращает Location для указанного индекса кода.
Возвращает:
Location, соответствующее указанному индексу кода, или null, если указанный индекс кода недопустим для этого метода (для нативных и абстрактных методов всегда возвращается null).

variables

List<LocalVariable> variables() throws AbsentInformationException
Возвращает список, содержащий каждую LocalVariable, объявленную в этом методе. Список включает все переменные, объявленные в любых областях видимости метода. Он может содержать несколько переменных с одинаковым именем, объявленных в несмежных областях видимости. Аргументы считаются локальными переменными и присутствуют в возвращаемом списке. Если информация о локальных переменных недоступна, значения фактических аргументов вызова метода можно получить с помощью метода StackFrame.getArgumentValues()
Возвращает:
список объектов LocalVariable, представляющих локальные переменные, объявленные в этом методе в целевой виртуальной машине. Если локальных переменных нет, возвращается список нулевой длины.
Вызывает:
AbsentInformationException — если для этого метода отсутствует информация о переменных. Обычно информация о локальных переменных недоступна для нативных или абстрактных методов (то есть информация об именах их аргументов недоступна), поэтому при вызове будет выброшено это исключение.

variablesByName

List<LocalVariable> variablesByName(String name) throws AbsentInformationException
Возвращает список, содержащий каждую LocalVariable с указанным именем в этом методе. Если одно и то же имя переменной используется в несмежных областях видимости метода, могут быть возвращены несколько переменных.
Возвращает:
список объектов LocalVariable с указанным именем. Если подходящих локальных переменных нет, возвращается список нулевой длины.
Вызывает:
AbsentInformationException — если для этого метода отсутствует информация о переменных. Обычно информация о локальных переменных недоступна для нативных или абстрактных методов (то есть информация об именах их аргументов недоступна), поэтому при вызове будет выброшено это исключение.

arguments

List<LocalVariable> arguments() throws AbsentInformationException
Возвращает список, содержащий каждую LocalVariable, объявленную в качестве аргумента этого метода. Если информация о локальных переменных недоступна, значения фактических аргументов вызова метода можно получить с помощью метода StackFrame.getArgumentValues()
Возвращает:
список аргументов LocalVariable. Если аргументов нет, возвращается список нулевой длины.
Вызывает:
AbsentInformationException — если для этого метода отсутствует информация о переменных. Обычно информация о локальных переменных недоступна для нативных или абстрактных методов (то есть информация об именах их аргументов недоступна), поэтому при вызове будет выброшено это исключение.

bytecodes

byte[] bytecodes()
Возвращает массив, содержащий байт-коды этого метода.

Не все целевые виртуальные машины поддерживают эту операцию. Используйте VirtualMachine.canGetBytecodes(), чтобы определить, поддерживается ли эта операция.

Возвращает:
массив байт-кодов; для абстрактных и нативных методов возвращается массив нулевой длины.
Вызывает:
UnsupportedOperationException — если целевая виртуальная машина не поддерживает получение байт-кодов.

location

Location location()
Возвращает Location этого метода, если с ним связан исполняемый код.
Определено в:
location в интерфейсе Locatable
Возвращает:
Location этого зеркала или null, если это абстрактный метод; для нативных методов возвращается объект Location, индекс кода которого равен -1.

equals

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

hashCode

int hashCode()
Возвращает значение хеш-кода для этого метода.
Переопределяет:
hashCode в классе Object
Возвращает:
целочисленный хеш-код.
См. также:
  • Object.equals(java.lang.Object)
  • System.identityHashCode(Object)

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в разделе Документация Java SE, содержащем более подробные описания для разработчиков, обзоры основных концепций, определения терминов, обходные решения и работающие примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее аффилированных лиц в США и других странах.
Авторские права © 1993, 2026, 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.

Spec-Zone.ru

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