Class实例是类的元数据载体,包含类名、修饰符、继承关系、构造方法、字段、方法、注解等信息,支持反射操作,实现动态创建对象、调用方法和访问私有成员,是Java框架如Spring和Jackson的基础。
Java中的Class实例代表类的运行时结构,由JVM在加载类时创建,用于描述该类的完整元信息。每个类在JVM中都有唯一的Class对象,用来实现反射机制和动态操作。
类的基本信息
• 类名(包括包名,如 java.lang.String)继承与实现关系
• 父类(通过 getSuperclass() 获取)构造方法信息
• 所有声明的构造函数(getConstructors() 和 getDeclaredConstructors())字段信息
• 类中定义的所有属性(Field对象)方法信息
• 所有声明的方法(Method对象)注解信息
• 类上标注的所有注解(getAnnotations())内部类与外部类
• 获取成员类、静态内部类、局部类等(getClasses())Class实例不包含对象的具体数据,而是描述类的“模板”结构。它使得程序可以在运行时探查类的信息、创建实例、调用方法、访问字段,是Java实现框架(如Spring、Jackson)和工具库的基础。
基本上就这些。只要理解Class对象是类的元数据载体,就能明白它在反射中的核心作用。