import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import chapter14.packageaccess.HiddenC;
public class HiddenImplementation {
public static void main(String[] args) throws Exception {
A a = new A();
a.f();
System.out.println(a.getClass().getName());
callHiddenMeyhod(a, "g");
callHiddenMeyhod(a, "u");
callHiddenMeyhod(a, "v");
callHiddenMeyhod(a, "w");
}
static void callHiddenMeyhod(Object a, String methodName) throws Exception {
Method g = a.getClass().getDeclaredMethod(methodName);
g.setAccessible(true);
g.invoke(a);
}
import java.lang.reflect.Method;
import chapter14.packageaccess.HiddenC;
public class HiddenImplementation {
public static void main(String[] args) throws Exception {
A a = new A();
a.f();
System.out.println(a.getClass().getName());
callHiddenMeyhod(a, "g");
callHiddenMeyhod(a, "u");
callHiddenMeyhod(a, "v");
callHiddenMeyhod(a, "w");
}
static void callHiddenMeyhod(Object a, String methodName) throws Exception {
Method g = a.getClass().getDeclaredMethod(methodName);
g.setAccessible(true);
g.invoke(a);
}
}
通过上面的例子可以看出 通过反射可以得到人好方法即使是 private
Method 得到的是方法
Field 得到的是值