美文网首页
1. java反射

1. java反射

作者: FlyTian_43ab | 来源:发表于2018-09-15 23:33 被阅读0次

    参考:https://www.cnblogs.com/baizhanshi/p/6605156.html

    1. 反射机制是什么?

        在 运行状态中,

        动态 获取 类的 字节码对象, 字段对象, 方法对象,

        动态调用 类的 字节码对象, 字段对象, 方法对象    的这种功能 称为 反射机制。

    2. 反射能做什么?

         得到一个类的字节码对象 :   .class,  class 对象封装的 类的元信息

         使用类的字节码对象 构造 一个类的对象,

         得到或 调用  任意一个类的 字段对象和方法对象,

         实现 动态代理。

    3.    有几种方式 获得 字节码对象, Class对象?

            三种:

                 Class.forName("完整路径名类名");

                  类对象.getClass();

                   类名.class;

    4.    通过 Class  对象, 可以做什么?

                获得 类的 完整路径名类名;

                获得该类的所有父接口 的字节码对象;

                获得该类的 父类的 字节码对象;

                调用 newInstance() 生成 该类的 一个对象;【事实上 应用了默认的构造方法】

                获得该类的 所有 构造方法的 构造器对象;

                获得 该类的 所有 属性的 字段对象,传参字段名 可以得到 特定某个字段对象;

                获得 该类的 所有 方法的 方法对象,传参 方法名、方法参数字节码对象 可以得到 特定某个 方法对象;

    5.  构造器对象 可以做什么?

            获得 对应 构造方法的  参数类型 的 字节码对象;

          调用 newInstance()并传入对应的参数,即调用对应的构造方法生成 该类的 一个对象;

    6. 字段对象 可以做什么?

            获得 对应属性的 权限修饰符、属性字段类型的字节码对象、字段名;

        【权限修饰符 是 int 类型, 通过 Modifier.toString(temp)获得 修饰符名字符串】

    7. 方法对象 可以做什么?

          可以 获得 对应方法的 返回值类型 的 字节码对象, 参数类型的字节码对象,抛出异常类型的字节码对象;

            可以 获得 对应方法的  权限修饰符, 可以获得方法名;

    8. 反射机制的应用?

        在泛型为Integer的ArrayList中存放一个String类型的对象。

       通过反射取得并修改数组的信息

      通过反射机制修改数组的大小

      将反射机制应用于工厂模式

    相关文章

      网友评论

          本文标题:1. java反射

          本文链接:https://www.haomeiwen.com/subject/qexxnftx.html