用java的反射调用类的私有方法
获取一般的私有方法
例如在TestClassConstructor 有一个方法doSomething(int a, String b)
Class class = Class.forName("com.test.TestClassConstructor");
Class [] param = {int.class, String.class};
Constructor constructor = class.getDeclaredConstructor(param);
Object obj = constructor.newInstance(1,"test");
Class [] param1 = {String.class};
Method method = class.getDeclareMethod("doSomething",params);
method.setAccessible(true);
Object arg[] = {"test"};
Object result = method.invoke(obj, arg); // 调用方法
获取类的静态私有方法
例如在TestClassConstructor 有一个静态私有方法play()
Class class = Class.forName("com.test.TestClassConstructor");
Method method = class.getDeclareMethod("play");
method.setAccessible(true);
method.invoke(null);