1. 程式人生 > >利用反射呼叫私有方法、訪問私有屬性

利用反射呼叫私有方法、訪問私有屬性

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); } }