Java反射API应用困惑:动态获取类信息的实战案例
在Java中,反射API允许我们在运行时获取、操作对象的信息,包括类、方法、字段等。以下是一个动态获取类信息的实战案例:
import java.lang.reflect.Class;
public class ReflectionExample {
public static void main(String[] args) {
// 获取当前类的Class对象
Class<?> currentClass = ReflectionExample.class;
// 输出当前类的信息
System.out.println("Current Class Name: " + currentClass.getName());
// 动态获取类中的某个方法
Method method = currentClass.getMethod("sayHello", String.class)); // 假设class中有sayHello方法
// 输出这个方法的信息
System.out.println("Method Name: " + method.getName());
System.out.println("Method Signature: " + method.getSignature()); // 获取方法签名,用于参数类型检查
// 调用获取的方法
String message = "World";
Object[] args = {message};
method.invoke(currentClass, args)); // 执行方法并打印结果
}
}
在这个例子中,我们首先通过Class.forName()
获取了类名。然后,我们使用反射API的Class.getMethod()
来动态获取类中的方法。
最后,我们调用这个方法,并传入参数进行操作。运行这段代码,你将看到动态获取并调用方法的结果。
还没有评论,来说两句吧...