反射技术复习

目录

    • 反射
    • 类对象中的成分
    • 反射绕过编译阶段的泛型给List插入任意类型的数据:
    • 通过反射获取类中的所有成员变量并输出到文件中

反射

  • 什么是反射
    • 反射就是通过一定的技术来获取运行时候的.class文件, 里面包含了这个类的所有信息, 我们就间接的获取了这个类的所有信息.
  • 反射的第一步是什么:
    • 获取Class类对象
  • 如何获取 Class 类对象:
    • 通过 Class 的静态方法forName(“类的地址”)
    • 通过 类名.class
    • 通过 对象引用.getClass()
    • 反射技术复习_第1张图片

类对象中的成分

  • 构造器对象

    • 反射技术复习_第2张图片

    • 对于有参的构造器对象, 构造器中的参数也是类对象类型的, 具体看下面的源码.

    • 反射技术复习_第3张图片

  • 成员变量对象

    • 获取类对象中成员变量对象的方法:
      • getDeclaredFileld(String name)
    • 反射得到成员变量后可以做什么
      • 赋值: void set(Object o, Object value)
        • 需要一个当前类的对象
      • 取值 Object get(Object o)
        • 需要一个当前类的对象
    • 对于非公开的成员变量, 通过成员变量的 setAccessible(boolean) 来暴力反射
    • 反射技术复习_第4张图片
  • 方法对象

    • 反射技术复习_第5张图片

反射绕过编译阶段的泛型给List插入任意类型的数据:

  • 代码图片
    反射技术复习_第6张图片

通过反射获取类中的所有成员变量并输出到文件中

  • 打印流建议使用 PrintStream…
  • 图片代码
    • 反射技术复习_第7张图片

你可能感兴趣的:(java,开发语言,反射机制)