您的位置:首页 > 其它

利用反射读取 私有 变量(很黄很暴力)

2009-08-13 09:21 239 查看
利用反射读取 私有 变量(很黄很暴力)
获取Class对象方法的三种方式:

类名.class;
对象名.getClass();
Class.forName("类");   " com.wsq.UserBean"

public class A { 
 private  String rubbish="1111"; 
 public String rubbish1="2222"; 
}

import java.lang.reflect.Field;

public class B {

 public static void main(String[] args) throws InstantiationException, IllegalAccessException, SecurityException, NoSuchFieldException {
        Class clazz=A.class;
        Field  field=clazz.getDeclaredField("rubbish");              // 要是私有要用这个方法
     
     Field  field1=clazz.getDeclaredField("rubbish1");          
     
     Field  field2=clazz.getField("rubbish1");       //只能访问public
      
     field.setAccessible(true);//要是私有这个很重要
     
      A obj=(A)clazz.newInstance();
     
      System.out.println("私有"+field.get((obj)));
        System.out.println("公有"+field1.get((obj)));
        System.out.println(“公有"+field2.get((obj)));
  }

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