反射的基本知识
来源:互联网 发布:jq php数据统计图 编辑:程序博客网 时间:2024/05/21 15:42
读取配置文件
Properties properties = new Properties();FileReader reader = new FileReader("src/class.txt");properties.load(reader);reader.close();String methodName = properties.getProperty("methodName");String className = properties.getProperty("className");System.out.println(methodName);System.out.println(className);
下面是反射的基本步骤:
Class c = Class.forName(className);Constructor constructor = c.getConstructor();Method method = c.getMethod(methodName,null);Object o = constructor.newInstance();method.invoke(o);
接下来我们写一个工具类来设置对象。
public class ReflectTool { public static void setProperties(Object obj,String propertyName,Object value) throws NoSuchFieldException, IllegalAccessException { // 根据对象获取字节码文件对象 Class c = obj.getClass(); // 获取该对象的propertyName成员变量 Field field = c.getDeclaredField(propertyName); // 取消访问检查 field.setAccessible(true); // 给对象的成员变量赋值为指定的值 field.set(obj, value); }}
测试:
class Dog{ private String name; private Integer age; public String getName() { return name; } public Integer getAge() { return age; }}public class Main { public static void main(String[] args) throws NoSuchFieldException, IllegalAccessException { Dog dog = new Dog(); ReflectTool.setProperties(dog,"name","哈巴狗"); ReflectTool.setProperties(dog,"age",12); System.out.println(dog.getName()); System.out.println(dog.getAge()); }}
0 0
- 反射的基本知识
- c# 反射 的一些基本知识
- java 反射机制的基本知识
- java 反射机制的基本知识
- 反射基本知识
- java 反射 基本知识整理
- Java反射基本知识
- 反射技术基本知识总结
- IO流、多线程、网络、XML以及反射的基本知识
- 反射(1)—基本知识
- java 反射 基本知识——构造器
- Indie音乐的基本知识
- UNIX的一些基本知识
- 接口技术的基本知识
- python的基本知识
- 硬盘的基本知识
- Oracle数据库的基本知识
- ape的基本知识
- sql中,or与and 的运算级别
- SQLite 数据库的基本结构
- 【NOIP提高组模拟】树上摩托
- 关于object标签和*.cab
- Java内存回收机制
- 反射的基本知识
- iOS中NSString转换成HEX(十六进制)-NSData转换成int
- 第一次申请赴美商务签经历
- 微信搭建本地开发测试环境
- 268. Missing Number
- 存储过程
- 深度学习第一天: ubuntu14.04+gtx1070+cuda8.0.md
- maven pom 属性设置
- 单链表list