Интерфейс MemberRefEntry
- Все суперинтерфейсы:
PoolEntry
- Все известные подинтерфейсы:
FieldRefEntry, InterfaceMethodRefEntry, MethodRefEntry
public sealed interface MemberRefEntry extends PoolEntry permits FieldRefEntry, InterfaceMethodRefEntry, MethodRefEntry (not exhaustive)
Суперинтерфейс, моделирующий символьные ссылки на член класса или интерфейса в пуле констант файла
class, включая ссылки на поля, методы класса и методы интерфейса. Различные типы символьных ссылок на член класса или интерфейса имеют структурное сходство и используют общие части процессов разрешения; иногда они могут встречаться в одних и тех же местах. Например, и MethodRefEntry, и InterfaceMethodRefEntry могут встречаться в инструкции invokestatic.
Запись ссылки на член является составной:
MemberRefEntry(
ClassEntry owner,
NameAndTypeEntry nameAndType
)
- См. Спецификацию виртуальной машины Java:
- 4.4.2 Структуры
CONSTANT_Fieldref_info,CONSTANT_Methodref_infoиCONSTANT_InterfaceMethodref_info
- Граф иерархии запечатанных классов:
- С версии:
- 24
Краткое описание полей
Поля, объявленные в интерфейсе PoolEntry
TAG_CLASS, TAG_DOUBLE, TAG_DYNAMIC, TAG_FIELDREF, TAG_FLOAT, TAG_INTEGER, TAG_INTERFACE_METHODREF, TAG_INVOKE_DYNAMIC, TAG_LONG, TAG_METHOD_HANDLE, TAG_METHOD_TYPE, TAG_METHODREF, TAG_MODULE, TAG_NAME_AND_TYPE, TAG_PACKAGE, TAG_STRING, TAG_UTF8 | Модификатор и тип | Поле | Описание |
|---|---|---|
static final int |
TAG_CLASS |
Тег для константы типа CONSTANT_Class. |
static final int |
TAG_DOUBLE |
Тег для константы типа CONSTANT_Double. |
static final int |
TAG_DYNAMIC |
Тег для константы типа CONSTANT_Dynamic. |
static final int |
TAG_FIELDREF |
Тег для константы типа CONSTANT_Fieldref. |
static final int |
TAG_FLOAT |
Тег для константы типа CONSTANT_Float. |
static final int |
TAG_INTEGER |
Тег для константы типа CONSTANT_Integer. |
static final int |
TAG_INTERFACE_METHODREF |
Тег для константы типа CONSTANT_InterfaceMethodref. |
static final int |
TAG_INVOKE_DYNAMIC |
Тег для константы типа CONSTANT_InvokeDynamic. |
static final int |
TAG_LONG |
Тег для константы типа CONSTANT_Long. |
static final int |
TAG_METHOD_HANDLE |
Тег для константы типа CONSTANT_MethodHandle. |
static final int |
TAG_METHOD_TYPE |
Тег для константы типа CONSTANT_MethodType. |
static final int |
TAG_METHODREF |
Тег для константы типа CONSTANT_Methodref. |
static final int |
TAG_MODULE |
Тег для константы типа CONSTANT_Module. |
static final int |
TAG_NAME_AND_TYPE |
Тег для константы типа CONSTANT_NameAndType. |
static final int |
TAG_PACKAGE |
Тег для константы типа CONSTANT_Package. |
static final int |
TAG_STRING |
Тег для константы типа CONSTANT_String. |
static final int |
TAG_UTF8 |
Тег для константы типа CONSTANT_Utf8. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
default Utf8Entry |
name() |
Возвращает имя члена. |
NameAndTypeEntry |
nameAndType() |
Возвращает имя и строку дескриптора члена. |
ClassEntry |
owner() |
Возвращает класс или интерфейс, которому принадлежит этот член. |
default Utf8Entry |
type() |
Возвращает строку дескриптора члена. |
Методы, объявленные в интерфейсе PoolEntry
constantPool, index, tag, width | Модификатор и тип | Метод | Описание |
|---|---|---|
ConstantPool |
constantPool() |
Возвращает пул констант, из которого получена эта запись. |
int |
index() |
Возвращает индекс этой записи в пуле констант. |
int |
tag() |
Возвращает тег пула констант, описывающий тип этой записи. |
int |
width() |
Возвращает количество слотов пула констант, занимаемых этой записью. |
Подробное описание методов
owner
ClassEntry owner()
Возвращает класс или интерфейс, которому принадлежит этот член.
- Возвращает:
- класс или интерфейс, которому принадлежит этот член
nameAndType
NameAndTypeEntry nameAndType()
Возвращает имя и строку дескриптора члена.
- Возвращает:
- имя и строку дескриптора члена
name
default Utf8Entry name()
Возвращает имя члена.
- Возвращает:
- имя члена
type
default Utf8Entry type()
Возвращает строку дескриптора члена. Если эта запись является
FieldRefEntry, это строка дескриптора поля; если же запись является MethodRefEntry или InterfaceMethodRefEntry, это строка дескриптора метода.- Примечание API:
- Каждый подинтерфейс определяет средство доступа
typeSymbol()к символьному дескриптору типа члена. - Возвращает:
- строку дескриптора члена
© 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.