Class类里面提供取得成员方法:
·取得全部成员:public Field [ ] getDeclareFields( )throws SecurityException;
·取得指定成员:public Field getDeclareField(String name)throws NoSuchFieldException,SecurityException;
返回类型是"java.lang.reflect.Field"类,这个类有两个方法:
·设置属性内容:public void set(Object obj,Object value)throws IllegalArgumentException,IllegalAccessExcepion;
·取得属性内容:public Object get(Object obj)throws IllegalAgumentException,IllegalAccessException;
在java.lang.reflect.AccessibleObject类下面;
·Executable:下面继承了Constructor、Method;
·Field : public void setAccessible(boolean flag)throws SecurityException,设置是否封装
范例:
import java.lang.reflect.Field;
class Book {
private String title;
}
public class Demo {
public static void main(String[] args) throws Exception {
Class<?> cla = Class.forName("ikvDemo.Book");
Object obj = cla.newInstance();
Field titleField = cla.getDeclaredField("title");
titleField.setAccessible(true);
titleField.set(obj, "Java");
System.out.println(titleField.get(obj));
}
}