应用反射调用对象的私有方法和私有变量
使用反射调用对象的私有方法和私有变量
代码小例子:
乖不好意思的
乖不好意思的
有啥不好意思的
好,不错,继续努力
代码小例子:
package com.test; import java.lang.reflect.Field; import java.lang.reflect.Method; /** * 使用反射调用对象私有方法,私有属性 * * @author yale * */ public class ReflectInvokeTest { public static void main(String[] args) throws Exception { Yale p = new Yale(); Class<? extends Object> clazz = p.getClass(); Method method = clazz.getDeclaredMethod("sayHiHi", new Class[] { String.class }); method.setAccessible(true);// 压制java的访问控制检查 可以访问类的私有方法 Object o = method.invoke(p, new Object[] { "hello" }); System.out.println(o); System.out.println("------------------"); Field f = clazz.getDeclaredField("name"); f.setAccessible(true);// 压制java的访问控制检查 可以访问类的私有属性 f.set(p, "lisi"); System.out.println(p.getName()); } } class Yale { private String sayHiHi(String word) { return word; } private String name = "yale"; public String getName() { return name; } }
1 楼
song_in_china
2012-06-07
代码和人一样好看
2 楼
onlyOneToOne
2012-06-08
song_in_china 写道
代码和人一样好看
乖不好意思的
3 楼
song_in_china
2012-06-09
onlyOneToOne 写道
song_in_china 写道
代码和人一样好看
乖不好意思的
有啥不好意思的
4 楼
song_in_china
2012-06-12
美女我又来看你来了
5 楼
song_in_china
2012-06-12
刚刚写了个控制器框架,练练手
6 楼
onlyOneToOne
2012-06-12
song_in_china 写道
刚刚写了个控制器框架,练练手
好,不错,继续努力