Java反射API:动态调用方法
在Java中,反射API允许我们在运行时获取类的信息(如字段、方法等)并动态调用它们。以下是一些主要的反射API和使用示例:
类加载器(ClassLoader):
- 获取类:
Class<?> clazz = Class.forName("包名+类名")
- 创建对象:
Object obj = clazz.newInstance()
- 获取类:
Field(字段):
- 获取字段:
Field field = clazz.getDeclaredField("字段名")
- 设置值:
field.set(obj, value)
- 获取值:
value = (Integer) field.get(obj)
- 获取字段:
Method(方法):
- 获取方法:
Method method = clazz.getDeclaredMethod("方法名", paramTypes...))
- 调用方法:
Object[] args = {arg1, arg2...}; Object result = method.invoke(obj, args...));
- 获取方法:
注意,反射API通常用于理解现有系统、处理不可预见的情况等场景。但在设计程序时,尽量避免过度依赖反射,以提高代码的可读性和稳定性。
还没有评论,来说两句吧...