Module java.base
Package java.lang.classfile.attribute

# Interface PermittedSubclassesAttribute

≠
public abstract sealed interface PermittedSubclassesAttribute
extends java.lang.classfile.Attribute<java.lang.classfile.attribute.PermittedSubclassesAttribute>, java.lang.classfile.ClassElement
permits jdk.internal.classfile.impl.BoundAttribute.BoundPermittedSubclassesAttribute, jdk.internal.classfile.impl.UnboundAttribute.UnboundPermittedSubclassesAttribute
Comparing jdk-master and valhalla-csr-open

All Superinterfaces:
  `AttributePREVIEW <PermittedSubclassesAttribute>, ClassElementPREVIEW , ClassFileElement`

public sealed interface PermittedSubclassesAttribute extends AttributePREVIEW <PermittedSubclassesAttribute>, ClassElementPREVIEW
Models the `PermittedSubclasses` attribute (JVMS §4.7.31), which indicates this class or interface is sealed, and which classes or interfaces may extend or implement this class or interface.

This attribute only appears on classes, and does not permit multiple instances in a class. It has a data dependency on the constant pool.

The attribute was introduced in the Java SE Platform version 17, major version 61.

See Java Language Specification:
  8.1.1.2 `sealed` , `non-sealed` , and `final` Classes
  9.1.1.4 `sealed` and `non-sealed` Interfaces
See Java Virtual Machine Specification:
  4.7.31 The `PermittedSubclasses` Attribute
Since:
  24
See Also:
  - `Attributes.permittedSubclasses()`
  - `Class.isSealed()`
  - `Class.getPermittedSubclasses()`

## Methods

- =
  public static java.lang.classfile.attribute.PermittedSubclassesAttribute of(java.lang.classfile.constantpool.ClassEntry[] arg0)
- =
  public static java.lang.classfile.attribute.PermittedSubclassesAttribute of(java.util.List<java.lang.classfile.constantpool.ClassEntry> arg0)
- =
  public static java.lang.classfile.attribute.PermittedSubclassesAttribute ofSymbols(java.lang.constant.ClassDesc[] arg0)
- =
  public static java.lang.classfile.attribute.PermittedSubclassesAttribute ofSymbols(java.util.List<java.lang.constant.ClassDesc> arg0)
- =
  public abstract java.util.List<java.lang.classfile.constantpool.ClassEntry> permittedSubclasses()

## Summary

Differences
| Elements | Comments | Descriptions | Total
Added | Changed | Removed | Added | Changed | Removed | Added | Changed | Removed
--- | --- | --- | --- | --- | --- | --- | --- | ---
PermittedSubclassesAttribute |  |  |  |  |  |  | 4 |  |  | 4
Total |  |  |  |  |  |  | 4 |  |  | 4