Java--反射与配置文件小练习

Posted Java_biao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java--反射与配置文件小练习相关的知识,希望对你有一定的参考价值。

一、需求:通过加载配置文件,并利用反射运行配置文件中指定类的对应方法

二、具体实现:

现有一个Person类,如下:

public class Person {
	
	private String name;
	private int age;

	public Person() {
	}

	Person(String name, int age) {
		this.name = name;
		this.age = age;
	}

	public void sayHello() {
		System.out.println("name:"+this.name+"-->"+this.age);
	}
}

为了方便,此处使用class.txt文件来代替配置文件。

className = study01.Person
methodName = sayHello

测试如下:

public class Test {
	public static void main(String[] args) throws Exception {
		//创建配置文件实例
		Properties prop = new Properties();
		//加载配置文件
		FileInputStream is = new FileInputStream("src/study01/class.txt");
		prop.load(is);
		//加载需要运行的类名和方法名
		String className = prop.getProperty("className");
		String menthodName = prop.getProperty("methodName");
		//创建Class对象
		Class c = Class.forName(className);
		//获取构造方法
		Constructor con = c.getDeclaredConstructor(String.class, int.class);
		//创建实例
		Object obj = con.newInstance("跑调大叔", 20);
		//获取需要运行的Method对象
		Method m = c.getDeclaredMethod(menthodName);
		//运行方法
		m.invoke(obj);
	}
}

测试结果如下:

现在如果需要运行不同类以及不同类中的方法时,只需要更改配置文件中的键值对即可。

Java新手,若有错误,欢迎指正!

以上是关于Java--反射与配置文件小练习的主要内容,如果未能解决你的问题,请参考以下文章

java 反射代码片段

Android小例子:使用反射机制来读取图片制作一个图片浏览器

java反射机制的作用与优点

反射机制

反射的作用与优缺点

[Java基础]反射获取成员方法并使用练习