インタフェース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 Virtual Machine仕様を参照してください:
-
4.1
ClassFile
構造 - 導入されたバージョン:
- 24
- 関連項目:
-
メソッドのサマリー
インタフェースjava.lang.classfile.AttributedElementで宣言されたメソッド
attributes, findAttribute, findAttributes
インタフェースjava.lang.classfile.CompoundElementで宣言されたメソッド
elementList, elementStream, forEach, iterator, toDebugString
インタフェースjava.lang.Iterableで宣言されたメソッド
spliterator
-
メソッドの詳細
-
constantPool
-
flags
-
thisClass
-
majorVersion
int majorVersion()このクラスのメジャー・バージョンを返します。 符号なしshort[0, 65535]
の範囲内です。- 戻り値:
- このクラスのメジャー・バージョン
- 関連項目:
-
minorVersion
int minorVersion()このクラスのマイナー・バージョンを返します。 符号なしshort[0, 65535]
の範囲内です。- 戻り値:
- このクラスのマイナー・バージョン
- 関連項目:
-
fields
-
methods
-
superclass
Optional<ClassEntry> superclass()このクラスのスーパークラス(存在する場合)を返します。 「モジュール記述子」またはObject
クラスを表す場合、このclass
ファイルにはスーパークラスがない可能性があります。それ以外の場合は、スーパークラスが必要です。 これがインタフェースの場合、スーパークラスはObject
である必要があります。- 戻り値:
- このクラスのスーパークラス(ある場合)
- 関連項目:
-
interfaces
-
isModuleInfo
boolean isModuleInfo()このclass
ファイルがモジュール記述子かどうかを返します。- 戻り値:
- この
class
ファイルがモジュール記述子かどうか - 関連項目:
-