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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 黑马-zhangping 中级黑马   /  2012-10-19 21:24  /  2147 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

曾经一道面试题这样问的,就是main函数可不可以重载?或者换一句话说,一个类中,可不可以有多个main函数?
但是我立马就回答,说一个程序中不会有两个main方法,因为main方法是程序的入口,如果有多个,程序不知道从哪里开始运行。

后来答案是:main方法可以有多个,此时是main方法的重载,但是只有一个main方法是程序的入口,标准的程序的入口的main方法是public static void main(String[] args) { },里面是一个字符串数组,此时如果你再写一个int类型的数组作为参数的main方法,这就构成了重载的main方法。
不知道大家能否理解我说的,如果不理解,我再解释,如果大家有更好的理解,也说出来分享一下

评分

参与人数 1技术分 +1 收起 理由
谭立文 + 1 赞一个!

查看全部评分

5 个回复

倒序浏览
还是第一次听说,话说面试真是什么犄角旮旯里的都问啊
回复 使用道具 举报
你说的很对,JVM运行程序时,会寻找public static void main(String[] args) { }作为程序的入口,这个main方法的格式是固定的。
回复 使用道具 举报
面试问的很多问题都是不常用的,话说面试官真是辛苦了~
回复 使用道具 举报
也就是说JVM执行时,只有public static void main(String[] args) { }这一种语句是符合要求的,这是对主函数(程序入口)固定的格式。
只要参数不同,main是可以重载的。   
不错,又长知识了。  Thank you.
回复 使用道具 举报
可不可以补充视频里的知识点:
public static void main(String[] args) 这个格式是固定的,JVM能识别。
注意:String[] args 是函数参数,参数类型是一个数组,该数组中的元素是字符串。
           这个格式中唯一可以变得就是args,因为这里的args就是个变量名。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马