一、先创建一个我们将要反射的类,
ReflectTest.java
- public class <span style="line-height: 30.7999992370605px;">ReflectTest </span>{
- public int x;
- private int y;
- public ReflectTest(int x,int y ){
- super();
- this.x = x;
- this.y = y;
- }
- }
复制代码
二、写入反射的方法
- ReflectTest demo = new ReflectTest(3,5);//初始化实例
-
- //fieldX不是对象上的变量,而是类上的,通过fieldX找到某个具体对象所对应的值
- Field fieldX = demo.getClass().getField("x");//访问可见的成员变量x
- System.out.println(fieldX.get(demo));//打印x的值
-
- //用这个方法要暴力访问到反射对象下private成员
- Field fieldY = demo.getClass().getDeclaredField("y");//访问类中所有已定义成员变量y
- fieldY.setAccessible(true);//设置访问权限,可以访问private对象的成员变量y
- System.out.println(fieldY.get(demo));//打印y的值
复制代码
|
|