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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 Ernest 于 2015-4-10 09:49 编辑

主函数是程序入口,被JVM识别调用,一个程序应该只有一个入口吧。但是毕老师第六节MainDemo程序中,有两个主函数,且运行正常,烦请高手指点,多谢!
  1. class MainDemo
  2. {
  3.         public static void main(String[] args)//new String[]
  4.         {
  5.                 String[] arr = {"hah","hhe","heihei","xixi","hiahia"};

  6.                 MainTest.main(arr);
  7.         }
  8. }

  9. class MainTest
  10. {
  11.         public static void main(String[] args)
  12.         {
  13.                 for(int x=0; x<args.length; x++)
  14.                         System.out.println(args[x]);
  15.         }
  16. }
复制代码



5 个回复

倒序浏览
的确是两个主函数,原因是当你对源文件进行编译之后就会按这两个类产生两个class文件,且这两个class文件因为都有各自的main函数所以都可以独立运行。在此程序中当你运行MainDemo类时,它的主函数会调用MainTest类的主函数
回复 使用道具 举报
陈佳 发表于 2015-4-9 21:47
的确是两个主函数,原因是当你对源文件进行编译之后就会按这两个类产生两个class文件,且这两个class文件因 ...

哦,多谢!意思是程序运行时,以类文件为单位,一个类文件里只能有一个主函数,而不同的类文件可以有各自的主函数,关键是你最终运行哪个class文件了,是吧
回复 使用道具 举报
要看运行的是哪一个类的。
回复 使用道具 举报
Ernest 发表于 2015-4-10 08:23
哦,多谢!意思是程序运行时,以类文件为单位,一个类文件里只能有一个主函数,而不同的类文件可以有各自 ...

是的~记住只有带主函数的class文件才能运行,源文件是不能运行的
回复 使用道具 举报 1 0
eclipse 里运行要你选择的
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马