Spec-Zone.ru › OpenJDK 25

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

Все суперинтерфейсы:
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

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

compareTo

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

toString, virtualMachine

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

declaringType, genericSignature, isFinal, isStatic, isSynthetic, name, 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, чей codeIndex равен -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, 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/jdk.jdi/com/sun/jdi/Method.html

Spec-Zone.ru

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