# Interface ClassElement

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
Marker interface for a member element of a `ClassModel`. Such an element can appear when traversing a `ClassModel` unless otherwise specified, be supplied to a `ClassBuilder`, and be processed by a `ClassTransform`.

`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:
  - Membership Elements
  - `MethodElement`
  - `FieldElement`
  - `CodeElement`