ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

学习笔记---反射学习 一个简单的框架

2021-10-26 20:33:58  阅读:124  来源: 互联网

标签:学习 配置文件 对象 pro 笔记 --- 方法 Class 加载


要求:写一个“框架”,不能改变该类的任何代码的前提下,可以帮我们创建任意类的对象,并执行其中的任意方法
首先准备好两个写好方法的类
在这里插入图片描述

在这里插入图片描述
一、准备好配置文件
在这里插入图片描述
这里先明确框架的执行步骤:
1.将需要创建的对象的全类名和需要执行的方法定义在配置文件中
2.在程序中加载读取配置文件
3.使用反射加载类文件进内存
4.创建对象
5.执行方法
二、第一步已经完成,进行第二步
首先创建properties对象

Properties pro = new Properties();

之后加载配置文件,首先要获取class目录下的配置文件
(1)创建一个classloder

ClassLoader classLoader = ReflectTest.class.getClassLoader();

(2)新建一个输入流并调用classloder的方法获得properties的数据流,并放入内存中

        InputStream is = classLoader.getResourceAsStream("pro.properties");
        pro.load(is);

三、使用配置文件的方法getproperty()来获取配置文件中的数据

        String className = pro.getProperty("className");
        String methodName = pro.getProperty("methodName");

四、新建一个类以将该类加载到内存(forName是将字节码文件加载到内存,返回到Class对象)

Class cls = Class.forName(className);

五、创建对象(使用空参数构造方法创建对象,可以使用Class对象的newInstance方法)

Object obj = cls.newInstance();

六、获取对象方法,新建一个对象以接收获取对象方法

        Method method = cls.getMethod(methodName);

七、执行方法,使用方法的invoke(对象名)

        method.invoke(obj);

执行不同对象的不同方法只需要修改配置文件即可,至此一个简单的框架就完成了

标签:学习,配置文件,对象,pro,笔记,---,方法,Class,加载
来源: https://blog.csdn.net/qq_37221446/article/details/120979650

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有