利用反射呼叫私有方法、訪問私有屬性
阿新 • • 發佈:2019-02-04
import java.lang.reflect.Method; public class TestPrivate { public static void main(String[] args) throws Exception { PrivateClass p = new PrivateClass(); Class<?> classType = p.getClass(); // 獲取Method物件 Method method = classType.getDeclaredMethod("sayHello",new Class[] { String.class }); method.setAccessible(true); // 抑制Java的訪問控制檢查 // 如果不加上上面這句,將會Error: TestPrivate can not access a member of class PrivateClass with modifiers "private" String str = (String) method.invoke(p, new Object[] { "zhangsan" }); System.out.println(str); } }