第一个类
public class ReflectInvoke { public static void main(String[] args) {
System.out.println("It works!!");
}
public void print(){
System.out.println("print method!");
}
@Override
public String toString() {
return "ReflectInvoke";
}
}
第2个类
public class InvokeMainMethod { /**
 * @param args
 * @throws IllegalAccessException 
 * @throws InstantiationException 
 */
public static void main(String[] args) throws InstantiationException, IllegalAccessException {
String className="com.jong.test.reflect.ReflectInvoke";
Class clazz=null;
try {
clazz=Class.forName(className);
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
Object o=clazz.newInstance();
System.out.println(o.toString());
// clazz.getMethod("main", parameterTypes)
System.out.println(clazz.getClass());
ReflectInvoke.main(new String[]{});
Class[] arg=new Class[]{String.class};
//形式参数,要调用对象的形参
Object[] args1=new Object[]{};
//实参数,要调用对象的实参
InvokeMainMethod.method(o,"main");
try {
InvokeMainMethod.forname(o, "main", null,null);
} catch (SecurityException e) {
e.printStackTrace();
} catch (IllegalArgumentException e) {
e.printStackTrace();
} catch (NoSuchMethodException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
e.printStackTrace();
}
}
public static void forname(Object o,String methodname,Class[] arg,Object[] args) throws SecurityException, NoSuchMethodException, IllegalArgumentException, IllegalAccessException, InvocationTargetException{
Class c=o.getClass();
Method m=c.getMethod(methodname,arg);//获得方法。
System.out.println(m.getName());
Object obj=m.invoke(o, args);
System.out.println(o.toString());
}
public static void method(Object o,String method){
Class c=o.getClass();
try {
Method m=c.getMethod(method, new Class[]{});
Object obj=m.invoke(o, null);
System.out.println(obj);
} catch (SecurityException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (NoSuchMethodException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalArgumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (InvocationTargetException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}    

}}
在第2个类里要调用第一个类的main()方法应该怎么调用?
急...