【转载】JAVA利用反射机制访问private成员和方法
2015-03-06 12:43
681 查看
原文地址:http://lyg5623.blog.163.com/blog/static/53274011201002733119771/
class Normal {
private String ss="ddd";
private void ga(int i){
System.out.println("ga!!"+i);
}
}
public class Privateclassaccess {
public static void main(String[]args) throws ClassNotFoundException, NoSuchFieldException, IllegalArgumentException, IllegalAccessException, NoSuchMethodException, InvocationTargetException{
Field field=Class.forName("Normal").getDeclaredField("ss");
field.setAccessible(true);
Normal n=new Normal();
System.out.println(field.getType().toString());
System.out.println(field.getName());
System.out.println(field.getModifiers());
Object s=field.get(n);
System.out.println(s);
String x="omg";
field.set(n, x);
System.out.println(field.get(n));
Method method=Class.forName("Normal").getDeclaredMethod("ga", new Class[]{int.class});
method.setAccessible(true);
method.invoke(n, 3);
}
}
输出:
class java.lang.String
ss
2
ddd
omg
ga!!3
class Normal {
private String ss="ddd";
private void ga(int i){
System.out.println("ga!!"+i);
}
}
public class Privateclassaccess {
public static void main(String[]args) throws ClassNotFoundException, NoSuchFieldException, IllegalArgumentException, IllegalAccessException, NoSuchMethodException, InvocationTargetException{
Field field=Class.forName("Normal").getDeclaredField("ss");
field.setAccessible(true);
Normal n=new Normal();
System.out.println(field.getType().toString());
System.out.println(field.getName());
System.out.println(field.getModifiers());
Object s=field.get(n);
System.out.println(s);
String x="omg";
field.set(n, x);
System.out.println(field.get(n));
Method method=Class.forName("Normal").getDeclaredMethod("ga", new Class[]{int.class});
method.setAccessible(true);
method.invoke(n, 3);
}
}
输出:
class java.lang.String
ss
2
ddd
omg
ga!!3
相关文章推荐
- java中利用反射机制得到一个类的所有构造方法,成员方法机器参数的列表
- java利用反射访问类的私有(private)属性及方法
- Java中利用反射对类的hidden成员方法和属性的访问
- java利用反射访问类的私有(private)属性及方法
- java中的反射机制——如何访问私有成员的私有方法
- Java笔记——利用反射机制获取成员变量及成员方法
- Java通过反射访问私有成员变量和私有方法
- Java利用反射访问对象的私有成员
- java反射-访问private属性和方法
- Java的动态性支持学习三 - 反射机制 取消属性、方法、构造器的访问限制
- JAVA中的反射机制对私有成员的访问
- 【转】Java利用反射机制访问私有化构造器
- Java中的反射机制(四) 利用反射访问私有
- java利用反射访问类的私有成员
- java 反射 访问private 方法
- 黑马程序员--Java基础加强--16.利用反射操作泛型V【通过Constructor反射解析泛型构造方法】【通过Field反射解析泛型成员变量】【个人总结】
- Java反射高级应用--利用反射调用类的私有方法修改私有方法值,以及替换Java的类成员数据
- Java反射高级应用--利用反射调用类的私有方法修改私有方法值,以及替换Java的类成员数据
- Java调用private方法—Java中的类反射机制
- java中用反射访问私有方法和私有成员[转]