测试类
public class T {
/**
* @param args
* @throws ClassNotFoundException
* @throws NoSuchMethodException
* @throws SecurityException
* @throws InvocationTargetException
* @throws IllegalAccessException
* @throws IllegalArgumentException
*/
@SuppressWarnings("unchecked")
public static void main(String[] args) throws ClassNotFoundException, SecurityException, NoSuchMethodException, IllegalArgumentException, IllegalAccessException, InvocationTargetException {
// TODO Auto-generated method stub
ClassLoader cl = T.class.getClassLoader();
Class<StaticTest> staticTest = (Class<StaticTest>) cl.loadClass("com.study.StaticTest");
Method startup = staticTest.getMethod("startup", Integer.class);
startup.invoke(staticTest, 13);
System.out.println(staticTest);
}
}
被测试类
public class StaticTest {
static {
System.out.println("I'm static");
}
public StaticTest() {
System.out.println("I'm constructor ");
}
public static void startup(Integer time) {
System.out.println(time);
}
}
输出结果:
I'm static
13
class com.study.StaticTest