A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 胡刚涛 中级黑马   /  2012-8-3 11:59  /  1467 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

在eclipse中书写了一段代码:
import java.lang.reflect.Method;
public static void main (String[] args){
       String startClassName=args[0];
         Method mainMethod=Class.forName(startClassName).getMethod("main", String[].class);
          mainMethod.invoke(null, (Object)new String[]("111""222","333"));
}
class TestArguments{
public static void main(String[] args){
  for(String arg :args){
   System.out.println(arg);
  }
}
}
问题是:
mainMethod.invoke(null, (Object)new String[]("111""222","333"));这句代码报错,求解!!!

5 个回复

倒序浏览
public static void main (String[] args){
       String startClassName=args[0];
         Method mainMethod=Class.forName(startClassName).getMethod("main", String[].class);
          mainMethod.invoke(null, (Object)new String[]("111""222","333"));
}
你确定不将主方法写在类中有用
?
回复 使用道具 举报

  1. import java.lang.reflect.InvocationTargetException;
  2. import java.lang.reflect.Method;

  3. public class Test1 {
  4.         public static void main (String[] args) throws Exception{
  5.                String startClassName=args[0];
  6.                  Method mainMethod=Class.forName(startClassName).getMethod("main", String[].class);
  7.                   mainMethod.invoke(null, (Object)new String[]{"111","222","333"});
  8.         }
  9. }
  10.         class TestArguments{
  11.         public static void main(String[] args){
  12.           for(String arg :args){
  13.            System.out.println(arg);
  14.           }
  15.         }
  16.         }

  17. 输入参数:cn.forum.TestArguments
  18. 打印:
  19. 111
  20. 222
  21. 333
复制代码
回复 使用道具 举报
胡文凡 发表于 2012-8-3 12:07
public static void main (String[] args){
       String startClassName=args[0];
         Method mainM ...

不好意思 ,是写在类中的 代码复制过来时少粘了一句。:L
回复 使用道具 举报
呃的神.......

未命名.jpg (23.61 KB, 下载次数: 5)

未命名.jpg
回复 使用道具 举报
郑正华 发表于 2012-8-3 12:12
呃的神.......

都尝试过了,不中还是报错!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马