Module java.base
Package java.lang.classfile

# Interface ClassElement

≠
public abstract sealed interface ClassElement
extends java.lang.classfile.ClassFileElement
permits java.lang.classfile.AccessFlags, java.lang.classfile.ClassFileVersion, java.lang.classfile.CustomAttribute<T>, java.lang.classfile.FieldModel, java.lang.classfile.Interfaces, java.lang.classfile.MethodModel, java.lang.classfile.Superclass, java.lang.classfile.attribute.CompilationIDAttribute, java.lang.classfile.attribute.DeprecatedAttribute, java.lang.classfile.attribute.EnclosingMethodAttribute, java.lang.classfile.attribute.InnerClassesAttribute, java.lang.classfile.attribute.ModuleAttribute, java.lang.classfile.attribute.ModuleHashesAttribute, java.lang.classfile.attribute.ModuleMainClassAttribute, java.lang.classfile.attribute.ModulePackagesAttribute, java.lang.classfile.attribute.ModuleResolutionAttribute, java.lang.classfile.attribute.ModuleTargetAttribute, java.lang.classfile.attribute.NestHostAttribute, java.lang.classfile.attribute.NestMembersAttribute, java.lang.classfile.attribute.PermittedSubclassesAttribute, java.lang.classfile.attribute.RecordAttribute, java.lang.classfile.attribute.RuntimeInvisibleAnnotationsAttribute, java.lang.classfile.attribute.RuntimeInvisibleTypeAnnotationsAttribute, java.lang.classfile.attribute.RuntimeVisibleAnnotationsAttribute, java.lang.classfile.attribute.RuntimeVisibleTypeAnnotationsAttribute, java.lang.classfile.attribute.SignatureAttribute, java.lang.classfile.attribute.SourceDebugExtensionAttribute, java.lang.classfile.attribute.SourceFileAttribute, java.lang.classfile.attribute.SourceIDAttribute, java.lang.classfile.attribute.SyntheticAttribute, java.lang.classfile.attribute.UnknownAttribute
Comparing master and cf

All Superinterfaces:
  `ClassFileElement`

All Known Subinterfaces:
  `AccessFlags, ClassFileVersion, CompilationIDAttribute, DeprecatedAttribute, EnclosingMethodAttribute, FieldModel, InnerClassesAttribute, Interfaces, MethodModel, ModuleAttribute, ModuleHashesAttribute, ModuleMainClassAttribute, ModulePackagesAttribute, ModuleResolutionAttribute, ModuleTargetAttribute, NestHostAttribute, NestMembersAttribute, PermittedSubclassesAttribute, RecordAttribute, RuntimeInvisibleAnnotationsAttribute, RuntimeInvisibleTypeAnnotationsAttribute, RuntimeVisibleAnnotationsAttribute, RuntimeVisibleTypeAnnotationsAttribute, SignatureAttribute, SourceDebugExtensionAttribute, SourceFileAttribute, SourceIDAttribute, Superclass, SyntheticAttribute, UnknownAttribute`

All Known Implementing Classes:
  `CustomAttribute`

public sealed interface ClassElement extends ClassFileElement permits AccessFlags, Superclass, Interfaces, ClassFileVersion, FieldModel, MethodModel, CustomAttribute<T>, CompilationIDAttribute, DeprecatedAttribute, EnclosingMethodAttribute, InnerClassesAttribute, ModuleAttribute, ModuleHashesAttribute, ModuleMainClassAttribute, ModulePackagesAttribute, ModuleResolutionAttribute, ModuleTargetAttribute, NestHostAttribute, NestMembersAttribute, PermittedSubclassesAttribute, RecordAttribute, RuntimeInvisibleAnnotationsAttribute, RuntimeInvisibleTypeAnnotationsAttribute, RuntimeVisibleAnnotationsAttribute, RuntimeVisibleTypeAnnotationsAttribute, SignatureAttribute, SourceDebugExtensionAttribute, SourceFileAttribute, SourceIDAttribute, SyntheticAttribute, UnknownAttribute
A marker Marker interface for elements that a member element of a `ClassModel` . Such an element can appear when traversing a `ClassModel` or be presented unless otherwise specified, be supplied to a `ClassBuilder` , and be processed by a `ClassTransform` .

Moved to a paragraph. `AccessFlags` , and `ClassFileVersion` are member elements of a class that appear exactly once during the traversal of a `ClassModel` . `Superclass` and `Interfaces` may be absent or appear at most once. A `ClassBuilder` may provide an alternative superclass if it is not defined but required.

Sealed Class Hierarchy Graph:
Since:
  24
See Also:
  Moved to a definition list with class notes.Moved to a definition.Moved to an unordered list with class tag-list.
  - Membership Elements
  - `MethodElement`
  - `FieldElement`
  - `CodeElement`

## Summary

Differences
| Elements | Comments | Descriptions | Total
Added | Changed | Removed | Added | Changed | Removed | Added | Changed | Removed
--- | --- | --- | --- | --- | --- | --- | --- | ---
ClassElement |  |  |  |  |  |  | 13 | 4 |  | 17
Total |  |  |  |  |  |  | 13 | 4 |  | 17