A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始



一、先创建一个我们将要反射的类,
ReflectTest.java
  1. public class <span style="line-height: 30.7999992370605px;">ReflectTest </span>{
  2. public int x;
  3. private int y;

  4. public ReflectTest(int x,int y ){
  5. super();
  6. this.x = x;
  7. this.y = y;
  8. }
  9. }
复制代码

二、写入反射的方法
  1. ReflectTest demo = new ReflectTest(3,5);//初始化实例
  2.                
  3.                 //fieldX不是对象上的变量,而是类上的,通过fieldX找到某个具体对象所对应的值
  4.                 Field fieldX = demo.getClass().getField("x");//访问可见的成员变量x
  5.                 System.out.println(fieldX.get(demo));//打印x的值
  6.                
  7.                 //用这个方法要暴力访问到反射对象下private成员
  8.                 Field fieldY = demo.getClass().getDeclaredField("y");//访问类中所有已定义成员变量y
  9.                 fieldY.setAccessible(true);//设置访问权限,可以访问private对象的成员变量y
  10.                 System.out.println(fieldY.get(demo));//打印y的值
复制代码




0 个回复

您需要登录后才可以回帖 登录 | 加入黑马