public class UserBean {
04. private Integer id;
05. private int age;
06. private String name;
07. private String address;
08.
09. public UserBean(){
10. System.out.println("实例化");
11. }
12.
13. public Integer getId() {
14. return id;
15. }
16. public void setId(Integer id) {
17. this.id = id;
18. }
19. public int getAge() {
20. return age;
21. }
22. public void setAge(int age) {
23. this.age = age;
24. }
25. public String getName() {
26. return name;
27. }
28. public void setName(String name) {
29. this.name = name;
30. }
31. public String getAddress() {
32. return address;
33. }
34. public void setAddress(String address) {
35. this.address = address;
36. }
37.
38.
39.
40.}
41.
42.2 > 反射测试
43.
44.package com.whbs.test;
45.
46.import java.lang.reflect.Field;
47.import java.lang.reflect.Method;
48.
49.import com.whbs.bean.UserBean;
50.
51.public class Test1 {
52.
53. public static void main(String[] args) throws Exception {
54.
55.
56. /*
57. * 实列化类 方法1
58. */
59. //String classPath = "com.whbs.bean.UserBean";
60. //Class cla = Test1.class.getClassLoader().loadClass(classPath);
61. //Object ob = cla.newInstance();
62.
63. /*
64. * 实列化类 方法2
65. */
66. UserBean bean = new UserBean();
67. bean.setId(100);
68. bean.setAddress("武汉");
69.
70. //得到类对象
71. Class userCla = (Class) bean.getClass();
72.
73. /*
74. * 得到类中的所有属性集合
75. */
76. Field[] fs = userCla.getDeclaredFields();
77. for(int i = 0 ; i < fs.length; i++){
78. Field f = fs[i];
79. f.setAccessible(true); //设置些属性是可以访问的
80. Object val = f.get(bean);//得到此属性的值
81.
82. System.out.println("name:"+f.getName()+"\t value = "+val);
83.
84. String type = f.getType().toString();//得到此属性的类型
85. if (type.endsWith("String")) {
86. System.out.println(f.getType()+"\t是String");
87. f.set(bean,"12") ; //给属性设值
88. }else if(type.endsWith("int") || type.endsWith("Integer")){
89. System.out.println(f.getType()+"\t是int");
90. f.set(bean,12) ; //给属性设值
91. }else{
92. System.out.println(f.getType()+"\t");
93. }
94.
95. }
96.
97.
98. /*
99. * 得到类中的方法
100. */
101. Method[] methods = userCla.getMethods();
102. for(int i = 0; i < methods.length; i++){
103. Method method = methods[i];
104. if(method.getName().startsWith("get")){
105. System.out.print("methodName:"+method.getName()+"\t");
106. System.out.println("value:"+method.invoke(bean));//得到get 方法的值
107. }
108. }
109. }
110.
111.}
分享到:
相关推荐
java反射,获取所有属性、方法以及List集合类
java反射获取所有属性,获取所有get方法,包括子类父类,以及包括List集合类
java的反射机制操作父类的所有属性和方法。
java 反射 调用私有方法(有参数私有方法)获取私有属性值
下面小编就为大家带来一篇Java通过反射机制动态设置对象属性值的方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
利用反射获取实例化类的属性值和属性值!很实用,直接复制到控制台就行了!
java 通过反射获取枚举类,及枚举类的值,枚举类枚举实例名。本项目为普通java项目
NULL 博文链接:https://747017186.iteye.com/blog/1935184
在web开发中,经常遇到修改的操作。而使用hibernate,它的修改是基于对象的,如果用户修改的字段非常多,但是我们并不知道用户到底修改了那个字段,这时候就需要一个一个的去判断,因此非常耗时,所以我写了个工具类...
Java反射 调用空参方法 调用Object类型参数的方法 调用基本类型参数的方法 调用基本类型数组参数的方法 调用String数组参数的方法 调用Object数组参数的方法 调用私有方法
主要介绍了Java利用反射获取object的属性和值代码示例,具有一定借鉴价值,需要的朋友可以参考下。
利用反射机制动态获取对象属性名称及数据类型 利用反射机制动态获取对象属性名称及数据类型 利用反射机制动态获取对象属性名称及数据类型 利用反射机制动态获取对象属性名称及数据类型 利用反射机制动态获取对象属性...
Java反射类中属性方法,简单示例 到高级应用
主要介绍了java基于反射得到对象属性值的方法,结合实例形式分析了java基于反射获取对象属性值的相关实现方法与操作技巧,需要的朋友可以参考下
1.通过Java反射机制获取JavaBean对象。 2.通过JavaBean全路径字符串获取JavaBean对象。 3.获取JavaBean注解信息
主要介绍了java反射获取一个object属性值代码解析,具有一定借鉴价值,需要的朋友可以参考下。
java反射,设置属性值,获得属性,具有多个对象同事设置,缓存的处理,
(类的加载概述和加载时机) (类加载器的概述和分类) (获取class文件对象的三种方式) ...(通过反射写一个通用的设置某个对象的某个属性为指定的值) (通过用户的增删改查和学生的登录注册引出中介) (动态代理的概述和实现)
最近在工作中遇到一个需求,要利用反射对修饰符为final的成员变量进行修改,所以这篇文章主要给大家介绍了关于Java反射如何有效的修改final属性值的相关资料,文中通过示例代码介绍的非常详细,对需要的朋友可以参考...
Java 反射详解(包含私有方法属性的调用)