反射-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){

}
