在java中是支持反射机制的,下面是一些java反射的基本用法。
反射无参的方法:
public class Test{
public void go(){
System.out.println("go方法");
}
public static void main(String[] args){
Test test = new Test();
Class clazz = Class.forName("Test");
Method method = clazz.getDeclaredMethod("go");
method.invoke(test);
}
}
反射含参的方法:
public class Test{
public void go(String aa){
System.out.println(aa);
}
public static void main(String[] args){
Test test = new Test();
Class clazz = Class.forName("Test");
Method method = clazz.getDeclaredMethod("go",String.class);
method.invoke(test,"abc");
}
}
反射参数为数组的方法:
public class Test{
public void go(String[] aa){
System.out.println(“aa”);
}
public static void main(String[] args){
Test test = new Test();
Class clazz = Class.forName("Test");
Method method = clazz.getDeclaredMethod("go",String[].class);
method.invoke(test,new Object[]{new String[]{"abc"}});
}
}