インタフェースPermittedSubclassesAttribute

すべてのスーパー・インタフェース:
Attribute<PermittedSubclassesAttribute>, ClassElement, ClassFileElement

public sealed interface PermittedSubclassesAttribute extends Attribute<PermittedSubclassesAttribute>, ClassElement
このクラスまたはインタフェースがsealedであること、およびこのクラスまたはインタフェースを拡張または実装できるクラスまたはインタフェースを示すPermittedSubclasses属性(JVMS 4.7.31)をモデル化します。

この属性はクラスにのみ表示され、クラス内の「複数のインスタンス」は許可されません。 「定数プール」へのデータ依存性があります。

この属性は、Java SE Platformバージョン17のメジャー・バージョン61で導入されました。

Java言語仕様を参照してください:
「8.1.1.2 sealednon-sealedおよびfinalクラス」
「9.1.1.4 sealedおよびnon-sealedインタフェース」
Java Virtual Machine仕様を参照してください:
4.7.31 PermittedSubclasses属性
導入されたバージョン:
24
関連項目:
  • メソッドの詳細

    • permittedSubclasses

      List<ClassEntry> permittedSubclasses()
      許可されるサブクラスまたはサブインタフェースのリストを返します。
      戻り値:
      許可されるサブクラスまたはサブインタフェースのリスト
      関連項目:
    • of

      static PermittedSubclassesAttribute of(List<ClassEntry> permittedSubclasses)
      PermittedSubclasses属性を返します。
      パラメータ:
      permittedSubclasses - 許可されるサブクラスまたはサブインタフェース
      戻り値:
      PermittedSubclasses属性
    • of

      static PermittedSubclassesAttribute of(ClassEntry... permittedSubclasses)
      PermittedSubclasses属性を返します。
      パラメータ:
      permittedSubclasses - 許可されるサブクラスまたはサブインタフェース
      戻り値:
      PermittedSubclasses属性
    • ofSymbols

      static PermittedSubclassesAttribute ofSymbols(List<ClassDesc> permittedSubclasses)
      PermittedSubclasses属性を返します。
      パラメータ:
      permittedSubclasses - 許可されるサブクラスまたはサブインタフェース
      戻り値:
      PermittedSubclasses属性
      スロー:
      IllegalArgumentException - permittedSubclassesのいずれかがプリミティブである場合
    • ofSymbols

      static PermittedSubclassesAttribute ofSymbols(ClassDesc... permittedSubclasses)
      PermittedSubclasses属性を返します。
      パラメータ:
      permittedSubclasses - 許可されるサブクラスまたはサブインタフェース
      戻り値:
      PermittedSubclasses属性
      スロー:
      IllegalArgumentException - permittedSubclassesのいずれかがプリミティブである場合