您的位置:首页 > 其它

如何利用反射去访问一个私有的方法

2013-08-23 14:08 302 查看
package com.java.lesson.reflect;

public class PrivateTest {

private String name = "zhang";

public String getName() { return name; }

private String sayTo(String name) { return " hello ----- " + name; }

}

===================

package com.java.lesson.reflect;

import java.lang.reflect.Field;

import java.lang.reflect.Method;

public class TestPrivate {

public static void main(String[] args) throws Exception {

PrivateTest p = new PrivateTest();

Class<?> classType = p.getClass();

Method method = classType.getDeclaredMethod("sayTo", new Class[] { String.class });

method.setAccessible(true);

Object object = method.invoke(p, new Object[] { "sxz" });

System.out.println(object);

// =========================================================

Field field = classType.getDeclaredField("name");

field.setAccessible(true);

field.set(p,"lisi");

System.out.println(p.getName());

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: