Интерфейс EnclosingMethodAttribute
- Все суперинтерфейсы:
-
Attribute<EnclosingMethodAttribute>,ClassElement,ClassFileElement
public sealed interface EnclosingMethodAttribute extends Attribute<EnclosingMethodAttribute>, ClassElement
Моделирует атрибут
EnclosingMethod (JVMS 4.7.7), который указывает, что этот класс является локальным или анонимным классом, и указывает метод или конструктор, содержащий этот класс, если этот класс заключён ровно в одном методе или конструкторе. Этот атрибут появляется только в классах и не допускает множественные экземпляры в классе. Он имеет зависимость от данных в константном пуле.
Атрибут был введён в платформе Java SE версии 5.0, версия 49.
- См. Спецификацию виртуальной машины Java:
- 4.7.7 Атрибут
EnclosingMethod
- С тех пор:
- 24
- См. также:
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
ClassEntry |
enclosingClass() |
Возвращает класс, в котором объявлен текущий класс. |
Optional |
enclosingMethod() |
Возвращает имя и тип содержащего метода, если класс непосредственно содержится ровно в одном методе или конструкторе. |
default Optional |
enclosingMethodName() |
Возвращает имя содержащего метода, если класс непосредственно содержится ровно в одном методе или конструкторе. |
default Optional |
enclosingMethodType() |
Возвращает имя содержащего метода, если класс непосредственно содержится ровно в одном методе или конструкторе. |
default Optional |
enclosingMethodTypeSymbol() |
Возвращает имя содержащего метода, если класс непосредственно содержится ровно в одном методе или конструкторе. |
static EnclosingMethodAttribute |
of |
Возвращает атрибут EnclosingMethod. |
static EnclosingMethodAttribute |
of |
Возвращает атрибут EnclosingMethod. |
Методы, объявленные в интерфейсе java.lang.classfile.Attribute
attributeMapper, attributeName
Подробное описание методов
enclosingClass
ClassEntry enclosingClass()
Возвращает класс, в котором объявлен текущий класс. Если
enclosingMethod() присутствует, это декларирующий класс этого содержащего метода или конструктора.- Возвращает:
- класс, в котором объявлен текущий класс
- См. также:
enclosingMethod
Optional<NameAndTypeEntry> enclosingMethod()
Возвращает имя и тип содержащего метода, если класс непосредственно содержится ровно в одном методе или конструкторе. Может быть пустым, если анонимный или локальный класс появляется в инициализаторе поля (JLS 8.3.2), инициализаторе экземпляра (JLS 8.6) или статическом инициализаторе (JLS 8.7). В результате, это никогда не описывает метод инициализации класса "<clinit>".
- Возвращает:
- имя и тип содержащего метода, если класс непосредственно содержится ровно в одном методе или конструкторе
- См. также:
enclosingMethodName
default Optional<Utf8Entry> enclosingMethodName()
Возвращает имя содержащего метода, если класс непосредственно содержится ровно в одном методе или конструкторе.
- Возвращает:
- имя содержащего метода, если класс непосредственно содержится ровно в одном методе или конструкторе
- См. также:
enclosingMethodType
default Optional<Utf8Entry> enclosingMethodType()
Возвращает имя содержащего метода, если класс непосредственно содержится ровно в одном методе или конструкторе.
- Возвращает:
- имя содержащего метода, если класс непосредственно содержится ровно в одном методе или конструкторе
- См. также:
enclosingMethodTypeSymbol
default Optional<MethodTypeDesc> enclosingMethodTypeSymbol()
Возвращает имя содержащего метода, если класс непосредственно содержится ровно в одном методе или конструкторе.
- Возвращает:
- имя содержащего метода, если класс непосредственно содержится ровно в одном методе или конструкторе
- См. также:
of
static EnclosingMethodAttribute of(ClassEntry className, Optional<NameAndTypeEntry> method)
Возвращает атрибут
EnclosingMethod.- Параметры:
-
className- имя класса -
method- имя и тип содержащего метода илиOptional.empty(), если класс не содержится ровно в одном методе или конструкторе - Возвращает:
- атрибут
EnclosingMethod
of
static EnclosingMethodAttribute of(ClassDesc className, Optional<String> methodName, Optional<MethodTypeDesc> methodType)
Возвращает атрибут
EnclosingMethod.- Параметры:
-
className- имя класса -
methodName- имя содержащего метода илиOptional.empty(), если класс не содержится ровно в одном методе или конструкторе -
methodType- тип содержащего метода илиOptional.empty(), если класс не содержится ровно в одном методе или конструкторе - Возвращает:
- атрибут
EnclosingMethod - Исключения:
-
IllegalArgumentException- еслиclassNameпредставляет примитивный тип
© 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://download.java.net/java/early_access/jdk24/docs/api/java.base/java/lang/classfile/attribute/EnclosingMethodAttribute.html