反射练习之运行配置文件指定内容

Student类:

public class Student {
    public void study(){
        System.out.println("好好学习,天天向上");
    }
}
View Code

Teacher类:

public class Teacher {
    public void teach(){
        System.out.println("Java是世界上最好的语言");
    }
}

配置文件默认设置:

使用反射来运行配置文件指定的Student类

public class ReflectTest02 {
    public static void main(String[] args) throws IOException, ClassNotFoundException, NoSuchMethodException, IllegalAccessException, InvocationTargetException, InstantiationException {
        //加载数据
        Properties prop = new Properties();
        FileReader fr = new FileReader("myReflect\\class.txt");
        prop.load(fr);
        fr.close();

        String className = prop.getProperty("className");
        String methodName = prop.getProperty("methodName");

        //通过反射来使用配置文件的内容
        Class<?> c = Class.forName(className);
        Constructor<?> con = c.getConstructor();
        Object obj = con.newInstance();

        Method method = c.getMethod(methodName);
        method.invoke(obj);
    }
}

运行结果:

 修改配置文件内容:

修改配置文件后的运行结果:

猜你喜欢

转载自www.cnblogs.com/pxy-1999/p/13174142.html