您的位置:首页 > 其它

转载-一些动态加载类的文章

2008-05-30 15:21 302 查看
import java.lang.reflect.*;

class A{

public A(){

System.out.println("Test()");

}

public void f(){

System.out.println("f()");

}

}

public class TestA {

public static void main(String[] args) {

try{

Class c =Class.forName(args[0]);//使用String数组!

Constructor a= c.getConstructor();

String name = "f";

Object paramsObj[] = {};

Method[] s = c.getDeclaredMethods();

for(int i=0;i<s.length;i++){

if(args[1].equals(s[i].getName()))

s[i].invoke(a.newInstance(), paramsObj);

}

}catch(Exception e){

System.out.println("No Class: "+e);

}

}

}

^_^,终于搞出来了! 呵呵 ,到时运行 java A f 就可以了!

^_^ 用这个吧 :

import java.lang.reflect.*;

class A{

public A(){

System.out.println("Test()");

}

public void f(){

System.out.println("f()");

}

}

public class TestA {

public static void main(String[] args) {

try{

Class c =Class.forName(args[0]);//使用String数组!

Constructor a= c.getConstructor();

Object paramsObj[] = {};

Method[] s = c.getDeclaredMethods();

for(int i=0;i<s.length;i++){

if(args[1].equals(s[i].getName())){

s[i].invoke(a.newInstance(), paramsObj);

}

}

}catch(Exception e){

System.out.println("No Class: "+e);

}

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: