• 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);
        }
    }
    

    感谢

    黑马程序员

    以及勤劳的自己

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

  • 相关阅读:
    spring+hibernate常见异常集合
    Java报错原因汇总
    java常见异常集锦
    连接池 druid(阿里巴巴的框架)
    企业支付宝账号开发接口实现
    Maven使用常见问题整理
    MySQL的分页
    Struts2中通配符的使用
    Centos下安装mysql 总结
    将linux用在开发环境中
  • 原文地址:https://www.cnblogs.com/guizimo/p/13093631.html
Copyright © 2020-2023  润新知