反射机制:所谓的反射机制就是java语言在运行时拥有一项自观的能力。通过这种能力可以彻底的了解自身的情况为下一步的动作做准备。
getDeclaredField()的一个例子
http://technet.microsoft.com/zh-cn/library/aa989722 代码来源
 import java.lang.reflect.Field;
 import java.util.Date;
 public class Program {
     public Program() {
     }
     public Program(String str, Date date, int i) {
         this.str = str;
         this.date = date;
         this.i = i;
     }
     private String str = "Hello";
     private Date date = new Date();
     protected int i = 0;
     public int getI() {
         return i;
     }
     public String getStr() {
         return str;
     }
     public static void main(String[] args) throws IllegalArgumentException,
             IllegalAccessException {
         try {
             Program program = new Program();
             Class progClass = program.getClass();
             //通过反射机制,获取到类Program中的str
             Field strField1 = progClass.getDeclaredField("str");
             //输出private java.lang.String Program.str            
             System.out.println("Field found: " + strField1.toString());
             //同上
             Field dateField = progClass.getDeclaredField("date");
             System.out.println("Field found: " + dateField.toString());
             //同上
             Field iField = progClass.getDeclaredField("i");
             System.out.println("Field found: " + iField.toString());
             
             //我想说的是这一点,这里能获取到类Program中的str并对其修改。
             //Program类中没有对str设置的setStr()方法,而且使用了private,
             //这是不允许访问的。
             //但是我们能通过反射机制,从而获取private类型的值,并直接改。
             Field strField = progClass.getDeclaredField("str");
             strField.set(program, "我是Str字符串。");
             //输出:我是Str字符串。
             System.out.println(program.getStr());
             
         } catch (NoSuchFieldException ex) {
             System.out.println(ex.toString());
         }
     }
 } 
 
 输出是: 
 Field found: private java.lang.String Program.str
 Field found: private java.util.Date Program.date
 Field found: protected int Program.i
 我是Str字符串。 
 
 
来源:oschina
链接:https://my.oschina.net/u/852629/blog/117357