Интерфейс ClassModel
- Все суперинтерфейсы:
AttributedElement, ClassFileElement, CompoundElement<ClassElement>, Iterable<ClassElement>
public sealed interface ClassModel extends CompoundElement<ClassElement>, AttributedElement
class. Файл class можно рассматривать как композицию элементов ClassElement или получать к нему произвольный доступ с помощью методов доступа, если нужны только отдельные части файла
class. Используйте ClassFile.parse(byte[]), который анализирует двоичные данные файла
class и преобразует их в модель, чтобы получить ClassModel.
Чтобы создать файл class, используйте ClassFile.build(ClassDesc, Consumer). ClassFile.transformClass(ClassModel, ClassTransform) позволяет создать новый класс, выборочно обрабатывая элементы исходного класса и передавая результаты построителю класса.
Класс содержит атрибуты, большинство из которых доступны как элементы-члены. Доступ к BootstrapMethodsAttribute возможен только через явное чтение атрибутов, поскольку этот атрибут моделируется как часть пула констант.
- См. Спецификацию виртуальной машины Java:
- 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() |
Возвращает запись пула констант, описывающую имя этого класса. |
Методы, объявленные в интерфейсе AttributedElement
attributes, findAttribute, findAttributes | Модификатор и тип | Метод | Описание |
|---|---|---|
List |
attributes() |
Возвращает атрибуты этой структуры. |
default <T extends Attribute<T>> |
findAttribute |
Находит атрибут по имени. |
default <T extends Attribute<T>> |
findAttributes |
Находит атрибуты по имени. |
Методы, объявленные в интерфейсе CompoundElement
elementList, elementStream, forEach, iterator, toDebugString | Модификатор и тип | Метод | Описание |
|---|---|---|
default List |
elementList() |
Возвращает List, содержащий все элементы-члены этого составного элемента. |
default Stream |
elementStream() |
Возвращает Stream, содержащий все элементы-члены этого составного элемента. |
void |
forEach |
Вызывает переданный обработчик для каждого элемента-члена этого составного элемента. |
default Iterator |
iterator() |
Возвращает Iterator, описывающий все элементы-члены этого составного элемента. |
default String |
toDebugString() |
Возвращает текстовое представление составного элемента и его содержимого для отладки. |
Методы, объявленные в интерфейсе Iterable
spliterator | Модификатор и тип | Метод | Описание |
|---|---|---|
default Spliterator |
spliterator() |
Создаёт Spliterator для элементов, описываемых этим Iterable. |
Подробное описание методов
constantPool
ConstantPool constantPool()
- Возвращает:
- пул констант этого класса
- См. также:
flags
AccessFlags flags()
- Возвращает:
- флаги доступа
- См. также:
thisClass
ClassEntry thisClass()
- Возвращает:
- запись пула констант, описывающую имя этого класса
majorVersion
int majorVersion()
u2.- Возвращает:
- основную версию этого класса
- См. также:
minorVersion
int minorVersion()
u2.- Возвращает:
- дополнительную версию этого класса
- См. также:
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.