Java 反射(属性) 相当暴力啊 暴力反射
2014-01-06 22:20
253 查看
数据bean:
测试类:
package com.mth.bean; public class Person { private String name; private int age; public String city; private Person(String name, int age) { super(); this.name = name; this.age = age; } public Person() { super(); System.out.println("空参构造方法"); } @Override public String toString() { return name + "......" + age + "......" + city; } }
测试类:
package com.mth.test; import java.lang.reflect.Constructor; import java.lang.reflect.Field; import com.mth.bean.Person; public class ReflectFiledDemo { public static void main(String[] args) throws Exception { Class clazz = Class.forName("com.mth.bean.Person"); System.out.println(clazz); // 获取所有的成员属性 返回数组(public 修饰的) Field[] fields = clazz.getFields(); for (Field field : fields) { System.out.println(field); } System.out.println("====================================="); // 获取一个field对象 公共的(public 修饰的) Field f = clazz.getField("city"); System.out.println(f); System.out.println("====================================="); // 获取所有的成员变量 包括私有的属性 Field[] fields1 = clazz.getDeclaredFields(); for (Field field : fields1) { System.out.println(field); } System.out.println("====================================="); // 获取一个私有的属性 Field f1 = clazz.getDeclaredField("name"); System.out.println(f1); System.out.println("====================================="); // 建立一个对象 Class clazz1 = Class.forName("com.mth.bean.Person"); Constructor con = clazz1.getConstructor(); Person p = (Person) con.newInstance(); System.out.println(p); // 获得私有属性name age; Field ff1 = clazz.getDeclaredField("name"); Field ff2 = clazz.getDeclaredField("age"); Field ff3 = clazz.getField("city"); ff1.setAccessible(true); ff1.set(p, "zs"); ff2.setAccessible(true); ff2.setInt(p, 20); ff3.set(p, "DL"); System.out.println("通过获得属性 得到的对象..." + p); } }
相关文章推荐
- Java 反射(构造方法) 相当暴力啊 暴力反射
- Java 反射(成员方法) 相当暴力啊 暴力反射
- java反射以获取父类属性的值
- java再复习——通过反射使用类的属性,方法和构造器
- java利用反射获取类属性名,获取JavaBean属性名
- java利用反射获取类的属性及类型
- Java反射(四):java获取类的属性及构造器
- java 利用反射机制,获取实体所有属性和方法,并对属性赋值
- java 反射(二) 反射中Class常见的方法和属性
- java中使用反射获取对象的属性和属性值
- 测试 java反射Reflection中 获取 类属性、方法、构造方法及 调用类方法改变 对象属性
- java基础-反射3(反射,反射创建对象,操作对象属性,调用对象方法)
- java反射:获取父类中的所有属性和方法工具类
- Java反射得到属性的值和设置属性的值
- java反射-访问private属性和方法
- java 通过反射获取调用类方法及属性
- java反射获取实体类的属性名和值通过POI导出EXCEl,并实现表格列宽度自适应
- JAVA中的反射只获取属性的get方法
- Java 反射调用类的属性和方法(包含父类私有属性和覆盖重写的方法等)
- java利用反射技术遍历某个对象的属性及属性值