反射-Class的方法: 反射-Class获取成员构造方法: 获取某个类的所有【公共的】构造方法组成的数组 getConstructors() 获取某个类的所有的构造方法组成的数组 getDeclaredConstructors() 获取某个公共构造方法的对象 getConstructor() 获取某个构造方法的对象 getDeclaredConstructor() 反射-Class获取成员变量对象: 返回所有公共成员变量对象的数组 Field[] getFields(); 返回所有成员变量对象的数组 Field[] getDeclaredFields(); 返回单个公共成员变量对象 Field getField(String name); 返回单个成员变量对象 Field getDeclaredField(String name); 反射-Class获取父类和接口的方法: 返回某个类的所有父类 getSuperclass(); 返回某个类的所有实现的接口 getInterface(); 反射-Class获取方法的方法: 返回所有的公共方法--包含从父类继承的方法 Method[] getMethods(); 返回所有的方法 Method[] getDeclaredMethods(); 返回单个公共的成员方法对象 Method getMethod(String name, Class... parameterTypes) name是方法名,parameterTypes是参数类型列表 返回单个成员方法对象 Method getDeclaredMethod(String name, Class... parameterTypes) Constructor--代表所有的构造方法的类型 根据指定的构造方法创建对象 T newInstance(Object..initargs) 设置为true,表示取消访问检查 setAccessible(boolean flag) 获取构造方法的参数类型 getParameterTypes() 获取构造方法的修饰符 getModifiers() 获取构造方法参数的个数 getParameterCount() Field--代表所有的成员变量的类型 反射-Field的方法: 赋值 void set(Object obj,Object value) 取值 Object get(Object obj) 获取这个成员变量的类型 getType() 获取这个成员变量的修饰符 getModifiers() Method---代表所有方法的类型 反射-Method的方法: 调用指定对象的方法 invoke(Object obj,Object...args); 获取方法的返回值类型 getReturnType() 获取方法的参数类型列表 getParameterTypes() 获取这个成员方法的修饰符 getModifiers() 案例1:基础类信息获取 编写程序,使用反射获取java.lang.String类的以下信息并打印: 类的全限定名 所有实现的接口 父类 访问修饰符 案例2:构造方法调用 定义一个包含私有构造方法(接收String参数)和公共无参构造方法的Person类, 使用反射分别创建这两种构造方法对应的实例对象。 案例3:字段操作 创建一个Student类,包含私有字段name和age,以及公共字段id。使用反射完成: 获取所有字段(包括私有)并打印名称和类型 修改私有字段age的值 读取私有字段name的值 案例4:方法调用 在Calculator类中定义: 公共方法add(int a, int b)返回两数之和 私有方法multiply(double a, double b)返回两数之积 使用反射调用这两个方法并输出结果。 案例5:反射综合应用 编写一个通用的对象转 Map 工具类ObjectToMapConverter,使用反射实现: 接收任意对象作为参数 将对象的所有非静态字段名作为 key,字段值作为 value 存入Map 支持忽略指定字段(如通过参数String... ignoreFields) public Map toMap(Object obj,String... ignoreFields){ }