黑马程序员技术交流社区

标题: 一个Java程序有两个主函数,毕老师第六节MainDemo程序 [打印本页]

作者: Ernest    时间: 2015-4-9 21:17
标题: 一个Java程序有两个主函数,毕老师第六节MainDemo程序
本帖最后由 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. }
复制代码




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

哦,多谢!意思是程序运行时,以类文件为单位,一个类文件里只能有一个主函数,而不同的类文件可以有各自的主函数,关键是你最终运行哪个class文件了,是吧
作者: 杨大萌    时间: 2015-4-10 09:33
要看运行的是哪一个类的。
作者: 陈佳    时间: 2015-4-10 10:06
Ernest 发表于 2015-4-10 08:23
哦,多谢!意思是程序运行时,以类文件为单位,一个类文件里只能有一个主函数,而不同的类文件可以有各自 ...

是的~记住只有带主函数的class文件才能运行,源文件是不能运行的
作者: 海带    时间: 2015-4-16 19:35
eclipse 里运行要你选择的




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2