黑马程序员技术交流社区
标题:
java笔试题目。main函数可以多形式重载。
[打印本页]
作者:
樊玲
时间:
2013-3-10 18:35
标题:
java笔试题目。main函数可以多形式重载。
话说,个人觉得,main函数重载没啥用,不过,笔试中会有main函数的重载。哪种形式对,哪种形式错。所以自己试了几个。总结了下,发个贴。 果然基础很重要。宿舍有14期的学姐,据她说,面试过程中大多是基础的。 0.0 传说中的,考察功底么??
一、main 函数可以重载(两个main函数,同时存在于一个类中)
三种情况:
1、完全相同,access identifer 不同, 返回值不同
Java代码
public class MainTest {
public static void main(String[] args) {
System.out.println("main1 starts.");
}
public static void main(String[] args) {
System.out.println("main2 starts");
}
}
编译错误:MainTest.java:7: main(java.lang.String[]) is already defined in MainTest
注意:错误发生在第二个main函数运行时
2、参数不同
public class MainTest {
public static void main(String[] args) {
System.out.println("main1 starts.");
}
public static void main(Integer[] args) {
System.out.println("main2 starts");
}
}
编译通过。
运行结果:main1 starts.
3、参数不同且没有String[] 参数型main方法
public class MainTest {
public static void main(Boolean[] args) {
System.out.println("main1 starts.");
}
public static void main(Integer[] args) {
System.out.println("main2 starts");
}
}
编译通过。
运行错误:Exception in thread "main" java.lang.NoSuchMethodError: main
大家抽空就随意看看,
作者:
曾钦
时间:
2013-3-10 18:39
看完了,意思就是一个类里有且只有一个 public static void main(String[] args){ }
没错吧。
作者:
a392085656
时间:
2013-3-10 18:57
重载当然是可以的,方法名是main,不过这只是普通的方法,不会是程序的入口了。
作者:
HM马明宇
时间:
2013-3-10 19:04
a392085656 发表于 2013-3-10 18:57
重载当然是可以的,方法名是main,不过这只是普通的方法,不会是程序的入口了。 ...
正解,main不是java关键字,所以可以当做普通方法名来用!
作者:
HM马明宇
时间:
2013-3-10 19:04
a392085656 发表于 2013-3-10 18:57
重载当然是可以的,方法名是main,不过这只是普通的方法,不会是程序的入口了。 ...
正解,main不是java关键字,所以可以当做普通方法名来用!
作者:
张卫刚
时间:
2013-3-10 19:22
这个基础里讲过吧
作者:
wanggang
时间:
2013-3-10 19:41
public static void main(String[] args){}是主程序的入口,是被jvm调用,参数类型不可变,参数名可以随便写,
作者:
吴硕
时间:
2013-3-10 20:17
保证只有一个程序入口
重载没有问题
作者:
黄基焜
时间:
2013-3-10 20:20
main方法也是方法,当然可以重载。而且,任何一个方法名和同样的参数列表的方法只能存在一个,不单单是main方法才有的
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2