話不多說了,直接上代碼,記錄一哈,以后忘了還可以查看查看。
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類型。
五、現在就可以對結果進行操作了。