当前位置: 技术问答>java相关
如何实现在一个程序中,通过不同的Class名称调用不同的Class。
来源: 互联网 发布时间:2015-06-11
本文导语: 程序中没有判断,传入不同的Class名称,就会去调用对应的Class来执行 要用到Class.forName之类的东西来找。但是我不知道怎么用。 | Object o = Class.forName("test.Test").newInstance(); Test t = (Test)o; 就...
程序中没有判断,传入不同的Class名称,就会去调用对应的Class来执行
要用到Class.forName之类的东西来找。但是我不知道怎么用。
要用到Class.forName之类的东西来找。但是我不知道怎么用。
|
Object o = Class.forName("test.Test").newInstance();
Test t = (Test)o;
就返回该类的一个实例(使用0参数的构造函数)。
java.lang.reflect.*
包下面还有Method类,他代表一个方法。可以用于执行一各类中的方法。
可以用
Class.getMethod(String, Class[]);
Method.invoke(..)
等几个方法实现函数的调用。
具体的用法参见javadoc.
Test t = (Test)o;
就返回该类的一个实例(使用0参数的构造函数)。
java.lang.reflect.*
包下面还有Method类,他代表一个方法。可以用于执行一各类中的方法。
可以用
Class.getMethod(String, Class[]);
Method.invoke(..)
等几个方法实现函数的调用。
具体的用法参见javadoc.
|
你可以试试ClassLoader,相关资料:
http://adionline.myrice.com/Java/java_classloader.htm
http://adionline.myrice.com/Java/java_classloader.htm
|
class类型用newInstance() 来创建实例