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

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

在这里插入图片描述
一、准备好配置文件
在这里插入图片描述
这里先明确框架的执行步骤:
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);

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值