博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
阶段1 语言基础+高级_1-3-Java语言高级_09-基础加强_第2节 反射_11_反射_案例
阅读量:4326 次
发布时间:2019-06-06

本文共 495 字,大约阅读时间需要 1 分钟。

student定义sleep方法

用反射+配置文件

定义配置文件

src下new file。新建
加载配置文件。Properties里面有一个load方法,可以加载.properties结尾的配置文件 加载到内存中
获取字节码文件对应的类的加载器,用这个类加载器加载到内存
这样就有了ClassLoader
ClassLoader下面以偶getResource的方法是获取资源的路径
getResourceAsStream获取资源对应的字节流
这样就返回了字节流
把字节流传到load方法里面,就完成了加载了。 
再抛出异常
抛出IO异常

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

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

 

反射

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

创建对象 newInstance()
获取方法对象,暂时任务是 无参的
invoke执行方法
 

运行程序

现在配置的Person类的eat方法
修改配置文件 Student的sleep的方法
这就是框架的基本内部原理

最终目录结构

 

转载于:https://www.cnblogs.com/wangjunwei/p/11287513.html

你可能感兴趣的文章
作业三
查看>>
Codeforces 1169A Circle Metro
查看>>
Gerald and Giant Chess
查看>>
美国数据不佳美元仍跳升,只因欧元区问题更多
查看>>
Podfile使用说明
查看>>
20165204Java第四周学习
查看>>
【linux就该这么学】-09
查看>>
onload与ready差异
查看>>
react里 MD5加密
查看>>
Ansible 命令
查看>>
child-selector解释
查看>>
js简单实现div宽度匀速增加/减小
查看>>
sqlserver中where条件加判断
查看>>
实验五作业
查看>>
王者荣耀交流协会Beta发布文案美工展示博客
查看>>
按钮插件和按钮状态切换
查看>>
Mac制作U盘系统(OS X El Capitan)教程
查看>>
map和reduce
查看>>
【转载】【SQL】Sql Server Management Studio 18 打开闪退问题
查看>>
html中div居中
查看>>