Java 反射机制是 Java 语言的一个特性,它允许程序在运行时获取或设置对象的属性、方法等信息。通过反射,我们可以实现一些高级功能,如动态加载类、动态调用方法、动态创建对象等。

反射基本概念

  • Class 对象:每个类在加载到 JVM 时,都会产生一个对应的 Class 对象,这个对象包含了类的所有信息。
  • 反射操作:通过 Class 对象,我们可以获取类的属性、方法、构造器等信息,并对其进行操作。

反射常用方法

以下是一些常用的反射方法:

  • Class.forName(String className):通过类名获取 Class 对象。
  • Class.getDeclaredField(String fieldName):获取类的指定字段。
  • Class.getDeclaredMethod(String methodName, Class<?>... parameterTypes):获取类的指定方法。
  • Object.newInstance():创建类的实例。

反射示例

以下是一个简单的反射示例:

public class ReflectionExample {
    public static void main(String[] args) throws Exception {
        Class<?> clazz = Class.forName("java.util.ArrayList");
        Object obj = clazz.newInstance();

        Method addMethod = clazz.getMethod("add", Object.class);
        addMethod.invoke(obj, "Hello");
        addMethod.invoke(obj, "World");

        System.out.println(obj);
    }
}

扩展阅读

更多关于 Java 反射机制的内容,请参考以下链接:

Java 反射机制