java反射是运行时,Java反射(三)在运行时利用反射分析对象
在運行時利用反射分析對象,其實就是利用反射來獲得或者設置類的域。舉例如下:
有一個Student類:
package testreflection;
public class Student {
private String stuNum;
public Student(String stuNum) {
this.stuNum = stuNum;
}
}
利用反射來獲得和設置Student類的stuNum域的測試代碼如下:
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");
// 這一句對于訪問私有域的值是必須的
field.setAccessible(true);
// 獲得域
Object object = field.get(student);
System.out.println(object);
// 設置域
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();
}
}
}
運行ObjectAnalyzerTest結果如下:
20101120244 20121120064
總結
以上是生活随笔為你收集整理的java反射是运行时,Java反射(三)在运行时利用反射分析对象的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 万能驱动安装器_Windows驱动安装指
- 下一篇: laragon环境安装新的php版本后弹