话不多说了,直接上代码,记录一哈,以后忘了还可以查看查看。
package com.xjsx.reflect;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
public class Invoke {
public int add(int a,int b){
return a + b;
}
public String echo(String message){
return "Hello" + message;
}
public static void main(String[] args) {
try {
Class<?> classType = Invoke.class;
Object invoke = classType.newInstance();
Method addMethod = classType.getMethod("add", new Class<?>[]{int.class,int.class});
Object result = addMethod.invoke(invoke, new Object[]{1,2});
System.out.println((Integer)result);
} catch (InstantiationException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (NoSuchMethodException e) {
e.printStackTrace();
} catch (SecurityException e) {
e.printStackTrace();
} catch (IllegalArgumentException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
e.printStackTrace();
}
}
}
Java反射步骤:
一、获取要调用的类。有几种方式(不详细描述)
二、创建该类的实例。这个会在后面使用。
三、用getXXX得到相应的XXX,里面的参数要注意,
四、哪个类执行这个得到的方法,返回一个Object类型。
五、现在就可以对结果进行操作了。