zoukankan      html  css  js  c++  java
  • Java--反射(框架设计的灵魂)案例

    Java--反射(框架设计的灵魂)案例

    博客说明

    文章所涉及的资料来自互联网整理和个人总结,意在于个人学习和经验汇总,如有什么地方侵权,请联系本人删除,谢谢!

    需求

    写一个"框架",不能改变该类的任何代码的前提下,可以帮我们创建任意类的对象,并且执行其中任意方法

    使用
    1. 配置文件
    2. 反射

    步骤

    1. 将需要创建的对象的全类名和需要执行的方法定义在配置文件中
    2. 在程序中加载读取配置文件
    3. 使用反射技术来加载类文件进内存
    4. 创建对象
    5. 执行方法

    配置文件

    image-20200611153101415

    className=Student
    methodName=sleep
    

    代码

    import java.io.InputStream;
    import java.lang.reflect.Method;
    import java.util.Properties;
    
    /**
     * @author tanglei
     * @date 2020/6/11 3:10 下午
     */
    public class ReflectTest {
        public static void main(String[] args) throws Exception {
            Student s = new Student();
            Properties pro = new Properties();
            //获取配置文件的路径
            ClassLoader classLoader = ReflectTest.class.getClassLoader();
            InputStream is = classLoader.getResourceAsStream("pro.properties");
            pro.load(is);
    
            String className = pro.getProperty("className");
            String methodName = pro.getProperty("methodName");
    
            //加载类进内存
            Class cla = Class.forName(className);
            Object obj = cla.newInstance();
    
            //加载方法进内存
            Method method = cla.getMethod(methodName);
            method.invoke(obj);
        }
    }
    

    感谢

    黑马程序员

    以及勤劳的自己

    关注公众号: 归子莫,获取更多的资料,还有更长的学习计划

  • 相关阅读:
    Pandas数据分析 (三)
    Pandas数据分析 (二)
    Pandas数据分析 (一)
    Django后台应用管理名称修改
    Jupyter Notebooks 配置
    Hadoop完全分布式搭建流程
    Java学习笔记(五)
    微信小程序学习笔记(一)
    redis windows版安装
    Linux计划任务
  • 原文地址:https://www.cnblogs.com/guizimo/p/13093631.html
Copyright © 2011-2022 走看看