Interface ClassInfo

All Superinterfaces:
AccessModifierOwner, AnnotatedElementInfo, TypeInfo

public sealed interface ClassInfo extends TypeInfo, AccessModifierOwner, AnnotatedElementInfo
ClassInfo
Version:
0.0.1
Author:
scx567888
  • Method Details

    • bindings

      TypeBindings bindings()
      泛型绑定
    • name

      String name()
      类名
    • classKind

      ClassKind classKind()
      类的类型
    • isAbstract

      boolean isAbstract()
    • isFinal

      boolean isFinal()
      是否 final 类
    • isStatic

      boolean isStatic()
      是否 静态类
    • isAnonymousClass

      boolean isAnonymousClass()
      是否 匿名类
    • isMemberClass

      boolean isMemberClass()
      是否 内部类
    • superClass

      ClassInfo superClass()
      父类 可能为空
    • interfaces

      ClassInfo[] interfaces()
      接口列表
    • constructors

      ConstructorInfo[] constructors()
      构造参数列表
    • fields

      FieldInfo[] fields()
      字段列表
    • methods

      MethodInfo[] methods()
      方法列表
    • allSuperClasses

      ClassInfo[] allSuperClasses()
      获取类的所有父类 (广度遍历顺序)
    • allInterfaces

      ClassInfo[] allInterfaces()
      获取类的所有接口 (广度遍历顺序)
    • defaultConstructor

      ConstructorInfo defaultConstructor()
      默认构造函数 (无参构造函数) 可能为空
    • recordConstructor

      ConstructorInfo recordConstructor()
      Record 规范构造参数 可能为空
    • allFields

      FieldInfo[] allFields()
      获取类所有字段 包括继承自父类的字段 (顺序 : 子类字段, 父类字段, 父类的父类字段... )
    • allMethods

      MethodInfo[] allMethods()
      获取该类「最终可见」的所有方法, 包括继承自父类或接口的方法 (但不包含被覆盖的方法 或 被子类实现的抽象方法). 等价于程序员在该类实例中最终能访问到的所有方法列表.
    • enumClass

      ClassInfo enumClass()
      枚举类型 (如果类是枚举的 匿名子类 的话, 可以正确获取到真正的枚举类型)
    • recordComponents

      RecordComponentInfo[] recordComponents()
      Record 组件列表 (如果是 Record 类型)
    • findSuperType

      default ClassInfo findSuperType(Class<?> rawTarget)
      返回指定类型的 父级 ClassInfo 支持常规类,抽象类,接口
    • annotatedElement

      default AnnotatedElement annotatedElement()
      Description copied from interface: AnnotatedElementInfo
      annotatedElement
      Specified by:
      annotatedElement in interface AnnotatedElementInfo