黑马程序员技术交流社区

标题: 程序入口main写成mian编译为什么不会出错? [打印本页]

作者: 欧阳宇    时间: 2015-4-28 10:33
标题: 程序入口main写成mian编译为什么不会出错?
主函数main能保证一个程序的独立运行,但不是必须的对吗?其他函数也可以?所以在编译时编译器会把mian看做一个自定义的函数,编译通过。但运行时JVM找不到程序的入口会报错。意思就是一个程序必须得有主函数对吗?

作者: 大西洋    时间: 2015-4-28 10:40
最后一句说对了,主函数是必须的,在一个*.java文件中必须要有一个主函数,Java就是这样设计的,记住就可以了;

不过函数都是可以重载的。 :)
作者: forplay    时间: 2015-4-28 10:44
main是程序的唯一入口
作者: 欧阳宇    时间: 2015-4-28 11:11
大西洋 发表于 2015-4-28 10:40
最后一句说对了,主函数是必须的,在一个*.java文件中必须要有一个主函数,Java就是这样设计的,记住就可以 ...

恩 三克油
作者: 欧阳宇    时间: 2015-4-28 11:13
forplay 发表于 2015-4-28 10:44
main是程序的唯一入口

恩 ,谢谢:hug:
作者: yearn    时间: 2015-4-28 16:16
main函数是唯一入口!
作者: 洋白菜    时间: 2015-4-28 16:37
jvm在运行程序时,找的就是main主函数这个入口,而且main是关键字,不能做修改
作者: V_nan    时间: 2015-4-28 20:25
编译查的是语法,运行才需要主函数,如果当作一个工具类的话可以不用主函数,在需要运行的类
中建立个对象调用就可以了
作者: lslkkk    时间: 2015-4-28 21:00
因为本身语法没出错误
作者: 欧阳宇    时间: 2015-4-29 17:51
yearn 发表于 2015-4-28 16:16
main函数是唯一入口!

恩恩,记住了 :)
作者: 欧阳宇    时间: 2015-4-29 17:53
洋白菜 发表于 2015-4-28 16:37
jvm在运行程序时,找的就是main主函数这个入口,而且main是关键字,不能做修改 ...

main应该不是关键字吧
作者: 欧阳宇    时间: 2015-4-29 17:54
V_nan 发表于 2015-4-28 20:25
编译查的是语法,运行才需要主函数,如果当作一个工具类的话可以不用主函数,在需要运行的类
中建立个对象 ...

恩 受教啦:)
作者: 大兵在海边    时间: 2015-4-29 19:40
洋白菜 发表于 2015-4-28 16:37
jvm在运行程序时,找的就是main主函数这个入口,而且main是关键字,不能做修改 ...

main 不是关键字
作者: 柒夜    时间: 2015-4-29 20:48
主函数是必须的,所有程序执行都是从主函数开始!
作者: brouse    时间: 2015-4-29 21:00
main方法是类的必须组成部分
作者: 王英明    时间: 2015-4-29 21:17
哥们说的对,顶一下!
作者: JarryHorse    时间: 2015-4-29 21:26
brouse 发表于 2015-4-29 21:00
main方法是类的必须组成部分

哥们儿一个程序必须要有main方法作为JVM执行的入口,一个程序最少需要一个main方法,但一个程序可以有很多类,因为main属于方法,它只是借其中一个类来安身而已,类是用来作为对象的模板的,没有main方法的类可以通过new对象来使用它的成员,所以···懂?
作者: 我爱吃橙子    时间: 2015-4-29 21:28
学到后头就知道了, 项目中的文件都方法没有main
作者: 雪风飞花    时间: 2015-4-29 21:53
你写成mian意思就是在一个类中创建了一个静态的带形参的mian方法,一个类编译自己的方法当然是可以通过的,但是运行时,JVM会寻找java中指定的程序入口main方法
作者: fanxia_2007    时间: 2015-4-29 22:23
主函数是程序的唯一入口,java中的JVM只能识别这个固定的写法。
作者: xiaowen_wu    时间: 2015-4-29 22:38
编译是检查你的语法有没有错误,JVM是在调用public static void main(String args)  ,你可以输出args看看




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