Java 反射
一、简介 反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;
对于 任意一个对象,都能够调用它的任意一个方法和属性;
这种动态获取的信息以及动态调用对象 的方法的功能称为 java 语言的反射机制。
二、作用 在运行时构造任意一个类的对象;
在运行时判断任意一个类所具有的成员变量和方法 在运行时调用任意一个对象的方法; 生成动态代理。
三、简单使用 1.使用反射创建类的对象
①使用类全名创建对象
②使用类的构造方法创建对象
2.使用反射获取类的所有属性
3.使用反射获得类的所有方法
四、使用反射封装 jdbc 的查询方法
1.创建 DButil 类并提供 getConnection 和 close 方法
2.创建查询方法要求传入的参数为class对象 className 返回数据库查询到 的所有该实体类对象的所有数据 的 list 集合
3.使用字节码对象 className 的 getName 方法获取类的全名 并截取最后的 类名 作为表名 拼接 sql;
4.使用PreparedStatement的 getMetaData 方法获取结果集中的字段
//获得类运行时的字节码对象 Class className = Class.forName("[类全名]");
//根据字节码对象的 newInstance()方法创建 字节码对应的类对象 Object object = className.newInstance();
//获得类运行时的字节码对象 Class className = Class.forName("[类全名]");
//获得类的无参构造方法 Constructor constructor = className.getConstructor(null);
//调用构造方法创建对象 Object object2 = constructor.newInstance(null);
//使用字节码对象获取类的所有属性 Field[] fields = className.getDeclaredFields();
//使用字节码对象获取类的所有方法 Method[] methods = className.getDeclaredMethods();