Интерфейс ClassModel
- Все суперинтерфейсы:
-
AttributedElement,ClassFileElement,CompoundElement<ClassElement>,Iterable<ClassElement>
public sealed interface ClassModel extends CompoundElement<ClassElement>, AttributedElement
class. Файл class можно рассматривать как состав из ClassElement или с помощью методов случайного доступа, если нужны только определенные части файла
class. Для получения модели ClassModel используйте ClassFile.parse(byte[]), который парсит двоичные данные файла
class.
Для создания файла class используйте ClassFile.build(ClassDesc, Consumer). ClassFile.transformClass(ClassModel, ClassTransform) позволяет создавать новый класс, выборочно обрабатывая исходные элементы класса и направляя результаты в конструктор класса.
Класс содержит атрибуты, большинство из которых доступны как элементы-члены. BootstrapMethodsAttribute доступен только через явное чтение атрибутов, так как он моделируется как часть константного пула.
- См. Спецификацию Java Virtual Machine:
- 4.1 Структура
ClassFile
- С версии:
- 24
- См. также:
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
ConstantPool |
constantPool() |
Возвращает константный пул для этого класса. |
List |
fields() |
Возвращает поля этого класса. |
AccessFlags |
flags() |
Возвращает флаги доступа. |
List |
interfaces() |
Возвращает интерфейсы, реализуемые этим классом. |
boolean |
isModuleInfo() |
Возвращает, является ли этот файл class описателем модуля. |
int |
majorVersion() |
Возвращает главную версию этого класса. |
List |
methods() |
Возвращает методы этого класса. |
int |
minorVersion() |
Возвращает второстепенную версию этого класса. |
Optional |
superclass() |
Возвращает суперкласс этого класса, если он есть. |
ClassEntry |
thisClass() |
Возвращает запись константного пула, описывающую имя этого класса. |
Методы, объявленные в интерфейсе java.lang.classfile.AttributedElement
attributes, findAttribute, findAttributes
Методы, объявленные в интерфейсе java.lang.classfile.CompoundElement
elementList, elementStream, forEach, iterator, toDebugString
Методы, объявленные в интерфейсе java.lang.Iterable
spliterator
Подробное описание методов
constantPool
ConstantPool constantPool()
- Возвращает:
- константный пул для этого класса
- См. также:
flags
AccessFlags flags()
- Возвращает:
- флаги доступа
- См. также:
thisClass
ClassEntry thisClass()
- Возвращает:
- запись константного пула, описывающую имя этого класса
majorVersion
int majorVersion()
[0, 65535].- Возвращает:
- главную версию этого класса
- См. также:
minorVersion
int minorVersion()
[0, 65535].- Возвращает:
- второстепенную версию этого класса
- См. также:
fields
List<FieldModel> fields()
- Возвращает:
- поля этого класса
methods
List<MethodModel> methods()
- Возвращает:
- методы этого класса
superclass
Optional<ClassEntry> superclass()
class может не иметь суперкласса, если он представляет собой описатель модуля или класс Object; в противном случае, он должен иметь суперкласс. Если это интерфейс, суперкласс должен быть Object.- Возвращает:
- суперкласс этого класса, если он есть
- См. также:
interfaces
List<ClassEntry> interfaces()
- Возвращает:
- интерфейсы, реализуемые этим классом
- См. также:
isModuleInfo
boolean isModuleInfo()
class описателем модуля.- Возвращает:
- является ли этот файл
classописателем модуля - См. также:
© 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/ClassModel.html