测试代码: import java.lang.reflect.*; class A{ public A(){ System.out.println("Test()"); } public void test(){ System.out.println("test()"); } } public class TestA { public static void main(String[] args) throws Exception{ Constructor a= A.class.getConstructor(); ((A)(a.newInstance())).test();
} }
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())){
import java.lang.reflect.*;
class A{
public A(){
System.out.println("Test()");
}
public void test(){
System.out.println("test()");
}
}
public class TestA { public static void main(String[] args) throws Exception{
Constructor a= A.class.getConstructor();
((A)(a.newInstance())).test();
}
}
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);
}
}
}