zoukankan      html  css  js  c++  java
  • 反射

       何为反射?

       运行状态时,对于任何一个类,都能够动态获取这个类得所有方法和属性(私有,公有,受保护),都能够调用任意一个方法和属性。

        要想获取一个类的成员变量 , 成员方法 , 构造函数 , 类名等 ,必须先获取这个类的类类型(.class)

      反射操作都是编译完成后的操作(编译为字节码(.class)文件后的操作),也就是运行时刻的操作

    1.Class的表示

    万事万物都是对象(数据类型有包装类 ,普通类(class) 也是对象 , 是Java.lang.Class的对象)

    任何一个类都是Java.lang.Class 的实例对象

    2,动态加载类(第三种加载方式为动态加载)

    运行时加载 (想加载哪个就加载那个,互不干扰)

    编译时加载(当程序代码在编译的时候,加载到new的时候,因为new是静态加载类,所以需要加载完所有new了的对象才能顺利运行,

    如果有一个对象没有new , 那整个程序都不能运行,这样就会变得不灵活,假如我只想用特定得一个类,而不用其他得类,这样就不行,

    所以应该用动态加载类)

    编译时的加载类为静态加载类,运行时的加载类为动态加载类

    3.获取方法信息

    任何事物都是对象,int ,void String double......都是对象

    获取Student的成员变量,函数,构造方法,类名

     

     

     

     调用一个类中的方法

     

     4.通过反射真正的了解集合的泛型

      集合的泛型是防止错误输入,约束输入的类型,在编译时有效,在编译之后就无效了,可以通过反射跳过泛型

    生命不止,折腾不息
  • 相关阅读:
    杭电1009 FatMouse' Trade
    【HDU 3183】 字符串处理
    quick_sort
    【 HDU 3172 Virtual Friends】 并查集+map指针优化
    【HDU 3127】 完全背包
    【URAL 1260】 DP (dfs打表之后找规律也行)
    【 HDU 3038 How Many Answers Are Wrong】 并查集好题
    腾讯云的图片上传与下载
    获取ip(局域网内的IP是一样的)
    vue表单提交之后,清空input里的数据
  • 原文地址:https://www.cnblogs.com/steakliu/p/10257541.html
Copyright © 2011-2022 走看看