日期:2014-05-20 浏览次数:20728 次
class A{
public void fun(){
System.out.println("class A");
}
}
class B extends A
{
public void fun(){
System.out.println("class B");
}
}
public class Callback {
/**
* @param args
*/
public static void main(String[] args) {
// 有什么方法 可以不调用B 访问到B的fun方法?
// 请教...
}
}
/**
* 执行某对象方法
*
* @param owner
* 对象
* @param methodName
* 方法名
* @param args
* 参数
* @return 方法返回值
* @throws Exception
*/
public Object invokeMethod(Object owner, String methodName, Object[] args)
throws Exception {
Class ownerClass = owner.getClass();
Class[] argsClass = new Class[args.length];
for (int i = 0, j = args.length; i < j; i++) {
argsClass[i] = args[i].getClass();
}
Method method = ownerClass.getMethod(methodName, argsClass);
return method.invoke(owner, args);
}