インターフェース ClassInfo

すべてのスーパーインターフェース:
AnnotationTargetDeclarationInfo

public interface ClassInfo extends DeclarationInfo
クラス。次の 5 種類のクラスが区別されます。
  • プレーンクラス
  • インターフェース
  • 列挙 (制限された種類のクラス)
  • アノテーション (特殊な種類のインターフェース)
  • 記録 (制限された種類のクラス)
クラスは、独立した単位として表されます。つまり、このクラスが入れ子になっている場合、囲んでいるクラスを取得することはできません。同様に、このクラスにネストされたクラスのセットを取得することはできません。

同時に、このクラスで宣言されているコンストラクターメソッド、およびフィールドのセット、およびこのクラスがレコードの場合はレコードコンポーネントのセットを取得することができます。このクラスが宣言されているパッケージを取得することもできます。

導入:
4.0
  • メソッドの詳細

    • name

      StringSE name()
      The Java ™ Language Specification で定義されている、このクラスのバイナリ名を返します。つまり、Class.getName() によって返されるクラス名です。
      戻り値:
      このクラスのバイナリ名、決して null
    • simpleName

      StringSE simpleName()
      The Java ™ Language Specification で定義されている、このクラスの単純名を返します。つまり、Class.getSimpleName() によって返されるクラス名です。
      戻り値:
      このクラスの単純な名前で、決して null ではありません
    • packageInfo

      PackageInfo packageInfo()
      このクラスが含まれるパッケージを返します。このクラスが名前のないパッケージの一部である場合は、null を返します。
      戻り値:
      このクラスのパッケージ、またはこのクラスが名前のないパッケージにある場合は null 
    • typeParameters

      ListSE<TypeVariable> typeParameters()
      このクラスで宣言された型パラメーターのリストを返します。このクラスがジェネリクスではないため、型パラメーターが宣言されていない場合は、空のリストを返します。
      戻り値:
      このクラスの型パラメーターの不変リスト。決して null ではありません
    • superClass

      Type superClass()
      このクラスの直接のスーパークラスを返します。このクラスにスーパークラスがない場合、つまりこのクラスが java.lang.Object またはインターフェースである場合は、null を返します。
      戻り値:
      このクラスの直接のスーパークラス型、またはスーパークラスがない場合は null 
    • superClassDeclaration

      ClassInfo superClassDeclaration()
      このクラスの直接のスーパークラスを返します。このクラスにスーパークラスがない場合、つまりこのクラスが java.lang.Object またはインターフェースである場合は、null を返します。
      戻り値:
      このクラスの直接のスーパークラス、またはスーパークラスがない場合は null 
    • superInterfaces

      ListSE<Type> superInterfaces()
      このクラスの直接スーパーインターフェースのリストを返します。このクラスに直接スーパーインターフェースがない場合は空のリストを返します。
      戻り値:
      このクラスの直接スーパーインターフェース型の不変リスト。null ではない
    • superInterfacesDeclarations

      ListSE<ClassInfo> superInterfacesDeclarations()
      このクラスの直接スーパーインターフェースのリストを返します。このクラスに直接スーパーインターフェースがない場合は空のリストを返します。
      戻り値:
      このクラスの直接スーパーインターフェースの不変リスト。null ではない
    • isPlainClass

      boolean isPlainClass()
      このクラスがプレーンクラスかどうかを返します。つまり、インターフェースでも、列挙型でも、アノテーションでも、レコードでもありません。
      戻り値:
      このクラスが単純なクラスかどうか
    • isInterface

      boolean isInterface()
      このクラスがインターフェースかどうかを返します。このクラスがアノテーションの場合、false を返します。
      戻り値:
      このクラスがインターフェースかどうか
    • isEnum

      boolean isEnum()
      このクラスが列挙型かどうかを返します。
      戻り値:
      このクラスが列挙型かどうか
    • isAnnotation

      boolean isAnnotation()
      このクラスがアノテーションかどうかを返します。
      戻り値:
      このクラスがアノテーションかどうか
    • isRecord

      boolean isRecord()
      このクラスがレコードかどうかを返します。
      戻り値:
      このクラスがレコードかどうか
    • isAbstract

      boolean isAbstract()
      このクラスが抽象かどうかを返します。

      abstract と宣言されている場合、プレーンクラスは抽象クラスになります。abstract メソッドを宣言する場合、列挙型は抽象になります。インターフェースまたはアノテーションは常に抽象的です。記録は決して抽象的なものではありません。

      戻り値:
      このクラスが abstract かどうか
    • isFinal

      boolean isFinal()
      このクラスが final かどうかを返します。
      戻り値:
      このクラスが final かどうか
    • modifiers

      int modifiers()
      このクラスの修飾子を int として返します。ModifierSE を使用して値をインスペクションします。
      戻り値:
      このクラスの修飾子
    • constructors

      CollectionSE<MethodInfo> constructors()
      このクラスで宣言または暗黙的に宣言されたコンストラクターのコレクションを返します。直接または間接のスーパークラスで宣言されたコンストラクターは含まれません。

      このクラスがインターフェースまたはアノテーションの場合、空のコレクションを返します。

      戻り値:
      コンストラクターの不変コレクション、決して null
    • methods

      このクラスと、java.lang.Object までのすべてのスーパークラスで宣言または暗黙的に宣言されたメソッドのコレクション、およびすべての直接および間接スーパーインターフェースを返します。このクラスが java.lang.Object の場合、そのメソッドは除外されません。このクラスがインターフェースの場合、スーパーインターフェースのみが考慮されます。インターフェース内の java.lang.Object メソッドに対応する暗黙的に宣言されたメソッドは省略されます。

      上で説明したメソッドのコレクションに同じシグネチャーを持つ複数のメソッドが含まれている場合は、そのようなメソッドがすべて返されます。このような方法を区別するには、MethodInfo.declaringClass を使用する必要があります。

      結果として得られるコレクションの反復順序は定義されていないため、このクラスの継承階層に対応する必要はありません。

      戻り値:
      不変のメソッドのコレクション、決して null ではない
    • fields

      このクラスと、java.lang.Object までのすべてのスーパークラスで宣言または暗黙的に宣言されたフィールドのコレクション、およびすべての直接および間接スーパーインターフェースを返します。このクラスが java.lang.Object の場合、そのフィールドは除外されません。このクラスがインターフェースの場合、スーパーインターフェースのみが考慮されます。

      上で説明したフィールドのコレクションに同じ名前のフィールドが複数含まれている場合、そのようなフィールドがすべて返されます。このようなフィールドを区別するには FieldInfo.declaringClass を使用する必要があります。

      結果として得られるコレクションの反復順序は定義されていないため、このクラスの継承階層に対応する必要はありません。

      戻り値:
      フィールドの不変コレクション、決して null ではない
    • recordComponents

      CollectionSE<RecordComponentInfo> recordComponents()
      このクラスで宣言されたレコードコンポーネントのコレクションを返します。このクラスがレコードではない場合、空のコレクションを返します。
      戻り値:
      レコードコンポーネントの不変コレクション、決して nul
    • kind

      default DeclarationInfo.Kind kind()
      インターフェースからコピーされた説明: DeclarationInfo
      この宣言の種類を返します。
      次で指定:
      インターフェース DeclarationInfokind 
      戻り値:
      この宣言の種類
    • asClass

      default ClassInfo asClass()
      インターフェースからコピーされた説明: DeclarationInfo
      この宣言をクラスとして返します。
      次で指定:
      インターフェース DeclarationInfoasClass 
      戻り値:
      このクラスでは決して null ではありません