BBS水木清华站∶精华区
发信人: alou (lou), 信区: Java
标 题: Re: JAVA如何调用其他class和外部程序
发信站: BBS 水木清华站 (Fri Sep 29 14:42:14 2000)
【 在 zhgy (zhgy) 的大作中提到: 】
∶ 在一个类中要用到另一个类的方法,通常是在文件
∶ 头import进来,然后在用到时再new一个对象,我现在
∶ 希望我的一个类里有一个方法,该方法接受一个类名和
∶ 一个方法名,然后在在程序中动态的调用其他类的方法
∶ 而不要在文件头import该类,免得每引用一个类的方法就要
∶ 从新编译,如何实现呢?
∶ 另外在java里调c++的dll文件我也没试通,请各位大虾
∶ 指教!
∶ 多谢,多谢!
下面是一个初级的例子,只能够调用无参数的方法。
//C1.java,调用类。
import java.lang.reflect.*;
public class C1
{
public static void main( String argv[] )
throws ClassNotFoundException, NoSuchMethodException,
InvocationTargetException, IllegalAccessException, InstantiationException
{
System.out.println( "C1!" );
if( argv.length < 2 )
{
System.out.println( "usage: java C1 <class> <method>" );
return;
}
String className = argv[0], methodName = argv[1];
Class destClass = Class.forName( className );
Method method = destClass.getMethod( methodName, null );
Object paras[] = new Object[0];
method.invoke( destClass.newInstance( ), paras );
}
}
//C2.java,测试用的简单类。
public class C2
{
public void pr( )
{
System.out.println( "I am C2, who r u?" );
}
public String pr1( )
{
System.out.println( "I am another C2, who r u?" );
return null;
}
}
--
※ 来源:·BBS 水木清华站 smth.org·[FROM: 202.112.101.154]
BBS水木清华站∶精华区