日期:2014-05-20  浏览次数:20671 次

简单的反射获取方法问题
写了一个通用的反射类
Java code

test(String className,String methodName,Object... objs){
                Object obj = getObjectByClassName(className);
                Class[] classes = getClasses(objs);
                Method method = obj.getClass().getDeclaredMethod(methodName,
                        classes);
                method.setAccessible(true);
                return method.invoke(obj, objs);
}



因为种种原因把原来直接调用的都改为反射调用
比如原来是
Java code

Student u = new Student();
ABC xxx = new ABC();
xxx.test(u);
//改为
Proxy.test("com.xxx.yyy.ABC","test",u);




问题就出现在这个参数U上 abc这个类test的参数是
User我传入的是USER的子类student
直接调用没问题 但是用反射就会找不到方法,请问有解决方案么。。。

另外 问的有点长。。。能看明白我问的什么意思么。。。。如果看不明白。。。也说一下吧。。。谢谢

------解决方案--------------------
探讨
写了一个通用的反射类

Java code


test(String className,String methodName,Object... objs){
Object obj = getObjectByClassName(className);
Class[] classes = getClasses(objs)……

------解决方案--------------------
getObjectByClassName和getClasses方法的代码