Java反射(三)在运行时利用反射分析对象
2015-06-26 21:54
639 查看
在运行时利用反射分析对象,其实就是利用反射来获得或者设置类的域。举例如下:
有一个Student类:
利用反射来获得和设置Student类的stuNum域的测试代码如下:
运行ObjectAnalyzerTest结果如下:
20101120244
20121120064
有一个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对世界各个时区(TimeZone)的通用转换处理方法(转载)
- java-注解annotation
- java-模拟tomcat服务器
- java-用HttpURLConnection发送Http请求.
- java-WEB中的监听器Lisener
- Android IPC进程间通讯机制
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- 介绍一款信息管理系统的开源框架---jeecg
- 聚类算法之kmeans算法java版本
- java实现 PageRank算法
- PropertyChangeListener简单理解
- 插入排序
- 冒泡排序
- 堆排序
- 快速排序
- 二叉查找树
- [原创]java局域网聊天系统