Class实例是类的元数据载体,包含类名、修饰符、继承关系、构造方法、字段、方法、注解等信息,支持反射操作,实现动态创建对象、调用方法和访问私有成员,是Java框架如Spring和Jackson的基础。

Java中的Class实例代表类的运行时结构,由JVM在加载类时创建,用于描述该类的完整元信息。每个类在JVM中都有唯一的Class对象,用来实现反射机制和动态操作。
Class实例代表的结构内容
类的基本信息
• 类名(包括包名,如 java.lang.String)• 修饰符(public、final、abstract等)
• 类的类型(普通类、接口、枚举、注解等)
• 所属的包(Package对象)
继承与实现关系
• 父类(通过 getSuperclass() 获取)• 实现的接口列表(getInterfaces())
• 泛型父类和接口信息(通过反射获取Type)
构造方法信息
立即学习“Java免费学习笔记(深入)”;
• 所有声明的构造函数(getConstructors() 和 getDeclaredConstructors())• 可以通过构造函数实例化对象
字段信息
• 类中定义的所有属性(Field对象)• 包括名称、类型、修饰符、是否静态等
• 支持读取和修改字段值(即使私有,通过setAccessible(true))
方法信息
• 所有声明的方法(Method对象)• 包含方法名、参数类型、返回类型、异常声明、修饰符
• 可通过反射调用方法(invoke)
注解信息
• 类上标注的所有注解(getAnnotations())• 支持运行时读取注解值,实现配置或逻辑控制
内部类与外部类
• 获取成员类、静态内部类、局部类等(getClasses())• 获取当前类所在的外部类(getEnclosingClass())
Class实例不包含对象的具体数据,而是描述类的“模板”结构。它使得程序可以在运行时探查类的信息、创建实例、调用方法、访问字段,是Java实现框架(如Spring、Jackson)和工具库的基础。
基本上就这些。只要理解Class对象是类的元数据载体,就能明白它在反射中的核心作用。











