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 反射机制