• java反射案例通过读取配置文件调用类方法


    package Reflects;
    
    import java.io.FileReader;
    import java.io.FileWriter;
    import java.io.IOException;
    import java.lang.reflect.Constructor;
    import java.lang.reflect.InvocationTargetException;
    import java.lang.reflect.Method;
    import java.util.Properties;
    import java.util.stream.Stream;
    
    public class ReflectDemo2 {
        public static void main(String[] args) throws IOException, ClassNotFoundException, NoSuchMethodException, InvocationTargetException, InstantiationException, IllegalAccessException {
            System.out.println("=====练习:通过配置文件进行类操作=====");
            Properties p = new Properties();
    //        p.setProperty("className","Reflects.Student");
    //        p.setProperty("classMethod","study");
            p.setProperty("className","Reflects.Teacher");
            p.setProperty("classMethod","say");
            FileWriter fileWriter = new FileWriter("./config.txt");
            p.store(fileWriter,null);
            fileWriter.close();
            //读区
            FileReader fr = new FileReader("./config.txt");
            p.load(fr);
            fr.close();
            String className = p.getProperty("className");
            String classMethod = p.getProperty("classMethod");
            Class<?> aClass = Class.forName(className);  //获取类文件对象
            Constructor<?> constructor = aClass.getConstructor();//构造方法
            Object o = constructor.newInstance();//创建对象
            Method method = aClass.getMethod(classMethod);
            method.invoke(o);
    
        }
    }
  • 相关阅读:
    IM,游戏服务端 tcp 框架整理
    IronPython初体验和实战集合等类型转换和类型匹配
    C# 控件包
    ORM框架系列
    C# Excel或表格插件
    vue之修饰符
    vue之单表输入绑定
    vue之计算属性和侦听器
    vue之指令系统
    vue之用法
  • 原文地址:https://www.cnblogs.com/phpwyl/p/16204662.html
Copyright © 2020-2023  润新知