Java 反射(Reflection)

什么是反射?

反射(Reflection)是 Java 提供的一种机制,允许程序在运行时动态地检查类的信息,以及操作类的属性、方法和构造器。通过反射,程序可以动态地访问和修改对象的行为,而不需要在编译时确定具体的类型或行为。

反射是 Java 的动态性特性之一,常用于框架(如 Spring、Hibernate 等)和工具类库中,实现高度灵活的功能。


反射的核心类

反射的核心类和接口都在 java.lang.reflect 包中,主要包括:

类/接口 描述
Class 表示运行时的类信息,通过它可以获取类的元数据(如字段、方法、构造器等)。
Field 表示类的字段,可以通过反射读取和修改字段的值。
Method 表示类的方法,可以通过反射调用方法。
Constructor 表示类的构造器,可以通过反射创建对象。
Modifier 提供用于检查字段和方法修饰符的工具类,比如判断是否是 publicstatic
Array 提供动态创建和操作数组的工具方法。

反射的常见操作

1. 获取 Class 对象

反射的入口是 Class 对象。可以通过以下三种方式获取:

// 1. 使用类的字面常量
Class<?> clazz1 = MyClass.class;

// 2. 使用对象的 getClass() 方法
MyClass myObject = new MyClass();
Class<?> clazz2 = myObject.getClass();

// 3. 使用 Class.forName()
Class<?> clazz3 = Class.forName("com.example.MyClass");

2. 获取类的信息

通过 Class 对象,可以获取类的元信息,包括包、名称、字段、方法、构造器等。

Class<?> clazz = MyClass.class;

// 获取类的名称
System.out.println("类的全限定名: " + clazz.getName());
System.out.println("类的简单名: " + clazz.getSimpleName());

// 获取类的包信息
System.out.println("包名: " + clazz.

你可能感兴趣的:(java后端开发,java,开发语言)