话说,个人觉得,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
大家抽空就随意看看, |