java反射是运行时,Java反射(三)在运行时利用反射分析对象
在運(yùn)行時(shí)利用反射分析對(duì)象,其實(shí)就是利用反射來(lái)獲得或者設(shè)置類的域。舉例如下:
有一個(gè)Student類:
package testreflection;
public class Student {
private String stuNum;
public Student(String stuNum) {
this.stuNum = stuNum;
}
}
利用反射來(lái)獲得和設(shè)置Student類的stuNum域的測(cè)試代碼如下:
package testreflection;
import java.lang.reflect.Field;
public class ObjectAnalyzerTest {
public static void main(String[] args) {
Student student = new Student("20101120244");
Class cl = student.getClass();
try {
Field field = cl.getDeclaredField("stuNum");
// 這一句對(duì)于訪問(wèn)私有域的值是必須的
field.setAccessible(true);
// 獲得域
Object object = field.get(student);
System.out.println(object);
// 設(shè)置域
field.set(student, "20121120064");
Object object1 = field.get(student);
System.out.println(object1);
} catch (NoSuchFieldException e) {
e.printStackTrace();
} catch (SecurityException e) {
e.printStackTrace();
} catch (IllegalArgumentException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
}
}
}
運(yùn)行ObjectAnalyzerTest結(jié)果如下:
20101120244 20121120064
總結(jié)
以上是生活随笔為你收集整理的java反射是运行时,Java反射(三)在运行时利用反射分析对象的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 万能驱动安装器_Windows驱动安装指
- 下一篇: java 获取键盘输入法_Java中接收