我有一个类,包名类名方法名为
直接上代码。
package com.moe.platform;
public class ThirdPlatform {
public void pay() {
Log.d("TFSDK", "点击三方充值");
}
}
在不引用这个包的前提下,使用反射来调用这个类的pay()方法。
try {
Class<?> c = Class.forName("com.moe.platform.ThirdPlatform");
Object obj1 = c.newInstance();
//Object[] obj2 = new Object[1];
Method payMethod = c.getMethod("pay");
payMethod.invoke(obj1);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (NoSuchMethodException e) {
e.printStackTrace();
} catch (IllegalArgumentException e) {
e.printStackTrace();
} catch (InstantiationException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
e.printStackTrace();
}
如果这个pay方法带有参数,则
payMethod.invoke(obj1,参数);
好了,简单易用。