Java的反射机制可以通过类的信息去创建类,并执行类中的方法。
示例代码:
Reflect_Setter 类
public class Reflect_Setter {
public int a;
{
a = 1;
}
public int getA() {
System.out.println("通过反射调用getA方法");
return this.a;
}
}
Set_Function 类
import java.lang.reflect.Method;
public class Set_Function {
public static void main(String[] args) throws Exception,
IllegalAccessException {
Class> k = Class.forName("Reflect_Setter");
Object kObject = k.newInstance();
Method kmthod = k.getMethod("getA"); // 如果方法名错误,会抛出NoSuchMethodException异常
int obj = (int) kmthod.invoke(kObject);
System.out.println("通过反射创建Reflect_Setter类实例,并通过反射调用实例的getA方法,得到的A的值为"
+ obj);
}
}