• Java第三十七天,基础增强,反射案例——利用配置文件执行指定类的指定方法


    1.在src目录下创建配置文件 config.properties (文件名自定义,扩展名为properties)

    注意:该配置文件用于指明运行那个类的哪个方法

    ClassName=com.huhai.Dog
    MethodName=eat

    2.编写实体类(业务类)代码

    package com.huhai;
    
    public class Dog {
    
        public void eat(){
            System.out.println("二哈开始吃饭了");
        }
    }
    

    3.编写核心代码

    package com.huhai;
    
    import java.io.IOException;
    import java.io.InputStream;
    import java.lang.reflect.InvocationTargetException;
    import java.lang.reflect.Method;
    import java.util.Properties;
    
    public class Realize {
        public static void main(String[] args) throws IOException, ClassNotFoundException, IllegalAccessException, InstantiationException, NoSuchMethodException, InvocationTargetException {
            Properties pro = new Properties();
            //获取本类的类加载器对象
            ClassLoader loader = Realize.class.getClassLoader();
            //利用类加载器对象获取配置文件
            InputStream in = loader.getResourceAsStream("config.properties");
            //利用Properties加载配置文件
            pro.load(in);
            //获取配置文件的内容
            String className = pro.getProperty("ClassName");
            String methodName = pro.getProperty("MethodName");
    
            //用反射加载类,并且创建对象、执行方法
            //得到类名
            Class myClass = Class.forName(className);
            //得到方法名
            Method method = myClass.getMethod(methodName);
            //构造对象
            Object obj = myClass.newInstance();
            //运行指定类的指定方法
            method.invoke(obj);
        }
    }
    
    作者:蓝月

    -------------------------------------------

    个性签名:能我之人何其多,戒骄戒躁,脚踏实地地走好每一步

  • 相关阅读:
    面试题库
    集合的交、查、并
    mysql_server安装
    maven构建jar包
    Centos7下 升级php5.4到7.1 yum安装
    redis
    常见shell用法
    Mac下的LDAP客户端 ApacheDirectoryStudio
    redis弱密码漏洞利用
    Freeradius+Cisco2500AC+OpenLdap认证
  • 原文地址:https://www.cnblogs.com/viplanyue/p/13573760.html
Copyright © 2020-2023  润新知