测试main函数重载
我使用的jdk版本是:java version "1.6.0_23"
package com.test;public class TestMain {public static void main(String[] args) {System.out.println("main start 1");}public static void main(String[] args) {System.out.println("main start 2");}}
运行结果:
(命令行):编译时错误
Duplicate method main(String[]) in type TestMain
at com.test.TestMain.main(TestMain.java:5)
我用jdk.1.5.0去测试:
(命令行):编译时错误
运行结果:
package com.test;public class TestMain {public static void main(String[] args) {System.out.println("main start 1");}public static void main(String test, String[] args) {System.out.println("main start 2" + test);}}
测试结果两个版本一样:
输出:main start 1
package com.test;public class TestMain {public static void main(String[] args) {System.out.println("main start 1");main(" Echo test.", args);}public static void main(String test, String[] args) {System.out.println("main start 2" + test);}}
测试结果两个版本一样:
输出:main start 1
main start 2 Echo test.
更换重载方法里的参数类型(一个为String[],一个为boolean):
package com.test;public class TestMain {public static void main(String[] args) {System.out.println("main start 1");}public static void main(boolean flag) {System.out.println("main start 2");}}
测试结果两个版本一样:
输出:main start 1
更换重载方法里的参数类型(一个为Integer[],一个为boolean):
package com.test;public class TestMain {public static void main(Interger[] args) {System.out.println("main start 1");}public static void main(boolean flag) {System.out.println("main start 2");}}
输出(命令行):编译时错误
1.5.0:
其实很多java基础题会有编译时错误和运行错误看具体代码行,也得考虑运行环境是在命令行下,还是在集成开发环境像(Eclipse)中一样。