package testclass;
import java.lang.reflect.Method;
/**
* Java反射调用方法
* @description:
* @author: Administrator
* @data:2017-7-23
* @vesion:
*/
public class TestMethod {
@SuppressWarnings({ "unchecked", "rawtypes" })
public static void main(String[] args) {
A a = new A();
Class clazz = a.getClass();
try {
// Method m = clazz.getMethod("print",new Class[]{});
Method m = clazz.getMethod("print");
// m.invoke(m, new Object[]{});
m.invoke(a);
// Method m1 = clazz.getMethod("sum", new Class[]{int.class,int.class});
Method m1 = clazz.getMethod("sum", int.class,int.class);//跟方法的参数顺序对应
Object object = m1.invoke(a, new Object[]{2,5});
// Object object = m1.invoke(a, 2,5);
System.out.println(object);
// Method m2 = clazz.getMethod("toLowerCase", new Class[]{int.class,int.class});
Method m2 = clazz.getMethod("toLowerCase", String.class);//跟方法的参数顺序对应
// Object object1 = m1.invoke(a, new Object[]{"ABC"});
Object object1 = m2.invoke(a, "ABC");
System.out.println(object1);
} catch (Exception e) {
e.printStackTrace();
}
}
}
class A{
public void print(){
System.out.println("hello world");
}
public int sum(int a, int b){
return a+b;
}
public String toLowerCase(String s){
return s.toLowerCase();
}
}
Java反射(五):java反射调用方法
最新推荐文章于 2024-07-24 15:33:51 发布