java编写 使用反射技术结合读取Properties格式的配置文件,实现在一个程序中可以调用任何一个java类的run方
2个回答
展开全部
//Test.java
import java.util.*;
import java.io.*;
import java.lang.reflect.*;
public class Test {
public static void main(String[] args) throws Exception {
InputStream in = Test.class.getClassLoader().getResourceAsStream("prop.properties");
Properties pro = new Properties();
pro.load(in);
in.close();
String className = pro.getProperty("class");
Class c = Class.forName(className);
Object o = c.newInstance();
Method m = c.getMethod("run");
m.invoke(o);
}
}
//Demo.java
public class Demo {
public void run() {
System.out.println("run() method has been invoked");
}
}
//prop.properties
class=Demo
import java.util.*;
import java.io.*;
import java.lang.reflect.*;
public class Test {
public static void main(String[] args) throws Exception {
InputStream in = Test.class.getClassLoader().getResourceAsStream("prop.properties");
Properties pro = new Properties();
pro.load(in);
in.close();
String className = pro.getProperty("class");
Class c = Class.forName(className);
Object o = c.newInstance();
Method m = c.getMethod("run");
m.invoke(o);
}
}
//Demo.java
public class Demo {
public void run() {
System.out.println("run() method has been invoked");
}
}
//prop.properties
class=Demo
展开全部
这个程序我就不写了
//从配置文件中读取类路径
String classpath = readClassPath(key);
//找到类
Class cls = Class.forName(classpath);
//实例化类
Object obj = cls.newInstance();
//获取类的run方法
Method method = cls.getMethd("run");
//调用方法
Object result = method.invoke(obj,args);
//结束。。伪代码可参考。。
//从配置文件中读取类路径
String classpath = readClassPath(key);
//找到类
Class cls = Class.forName(classpath);
//实例化类
Object obj = cls.newInstance();
//获取类的run方法
Method method = cls.getMethd("run");
//调用方法
Object result = method.invoke(obj,args);
//结束。。伪代码可参考。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询