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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© HM王琦 中级黑马   /  2013-3-12 00:49  /  909 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  1. String startclassname=args[0];//这里是什么意思。
  2.                 Method mainMethod=Class.forName(startclassname).getMethod("main", String[].class);
  3.                 mainMethod.invoke(null,(Object)new String[]{"123","234","2345"});
复制代码

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1 赞一个!

查看全部评分

2 个回复

倒序浏览
本帖最后由 夏晓彤 于 2013-3-12 01:36 编辑

楼主看main方法public static void main(String[] args) {}
args是一个String类型的数组
当你没给他传参数时它的张长度为ol
startclassname。这是一个String类型的变量,String startclassname=args[0],我们在运行时要改数组args传一个类名,你穿进去那个类的名字,执行到
   mainMethod.invoke(null,(Object)new String[]{"123","234","2345"});程序就会执行哪个类。
这里的"123","234","2345"对应的就是你要执行的类的String args[0]=“123”。。。//我这句如果说错了请大家帮指出来
楼主仔细看看,这断视频在张老师写完  mainMethod.invoke(null,(Object)new String[]{"123","234","2345"});这句代码后面会执行程序,出现角标越界异常,后面张老师会给String[] args传值。前面毕老师也讲过主函数,你也可以去看看
回复 使用道具 举报
夏晓彤 发表于 2013-3-12 01:15
楼主看main方法public static void main(String[] args) {}
args是一个String类型的数组
当你没给他传参数 ...

谢谢,好想明白了。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马