import java.lang.reflect.Method;
public class ReflectionExample {
public static void main(String[] args) {
try {
// 获取目标类的 Class 对象
Class<?> clazz = Class.forName("java.util.ArrayList");
// 创建目标类的实例
Object instance = clazz.getDeclaredConstructor().newInstance();
// 获取指定的方法对象,例如 add 方法
Method addMethod = clazz.getMethod("add", Object.class);
// 调用方法
addMethod.invoke(instance, "Hello, Reflection!");
// 获取指定的方法对象,例如 size 方法
Method sizeMethod = clazz.getMethod("size");
// 调用方法并获取返回值
Object result = sizeMethod.invoke(instance);
// 输出结果
System.out.println("Size of ArrayList: " + result);
} catch (Exception e) {
e.printStackTrace();
}
}
}
Class.forName
方法获取目标类(如 ArrayList
)的 Class
对象。getDeclaredConstructor().newInstance()
创建目标类的实例。getMethod
方法获取目标类中的特定方法(如 add
和 size
方法)。invoke
方法调用目标类的方法,并传递必要的参数。这个示例展示了如何使用 Java 反射机制来动态调用类的方法。
上一篇:java string join
下一篇:java 方法引用
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站