zoukankan      html  css  js  c++  java
  • 阶段1 语言基础+高级_1-3-Java语言高级_09-基础加强_第2节 反射_11_反射_案例







    student定义sleep方法






    用反射+配置文件


    定义配置文件



    src下new file。新建











    加载配置文件。Properties里面有一个load方法,可以加载.properties结尾的配置文件 加载到内存中




    获取字节码文件对应的类的加载器,用这个类加载器加载到内存

    这样就有了ClassLoader


    ClassLoader下面以偶getResource的方法是获取资源的路径


    getResourceAsStream获取资源对应的字节流

    这样就返回了字节流

    把字节流传到load方法里面,就完成了加载了。 
    再抛出异常

    抛出IO异常

    获取配置文件中定义的数据

    获取到要加载的全类名,以及要加载的方法的方法名

     

    反射

    根据全类名返回一个class对象

    创建对象 newInstance()


    获取方法对象,暂时任务是 无参的

    invoke执行方法

     

    运行程序



    现在配置的Person类的eat方法


    修改配置文件 Student的sleep的方法



    这就是框架的基本内部原理

    最终目录结构




     

  • 相关阅读:
    Linux centos7修改根目录
    gitlab的安装
    windows上svn图标不显示 绿色对号
    java中的Serializable接口
    List Map Set的线程安全
    javascript中的each遍历
    jdk 1.7新特性
    jdk 1.6 新特性
    jdk1.5 新特性
    java 运算符
  • 原文地址:https://www.cnblogs.com/wangjunwei/p/11287513.html
Copyright © 2011-2022 走看看