1、main方法的重载

 package cn.nxl2018;

 public class Main_test {
public static void main(String args[]) {
System.out.println("应用程序入口的main方法");
main();
main(10);
main(10, 10);
}
public static void main(){
System.out.println("无参的main方法");
}
public static void main(int i){
System.out.println("有参的重载main方法");
}
public static void main(int i,int j){
System.out.println("有两个参数的重载main方法");
}
}

Java main方法全解-LMLPHP

以上实例说明main方法是可以重载的,每个main方法的参数都是不同的,程序是可以运行的,可以输出应有的结果。但是,如果没有程序入口的main方法,只含有其他main方法。虽然编译此程序是可以的通过的,但是运行时会产生错误。这是因为程序运行时,Java虚拟机找不到对应的main方法,就会产生运行错误。

2、main方法的调用

 public class Main_test {
public static void main(String[] args) {
main2(args);
}
public static void main2(String[] args){
main(args);
}
}

运行程序后,程序无限递归执行两main方法,很明显main方法是可以被调用的。

Java main方法全解-LMLPHP

3、main方法的继承

Main.java:
 public class Main{
public static void main(String[] args) {
System.out.println("Hello Word!");
}
}
Main_test.java:
 public class Main_test extends Main{
}

Java main方法全解-LMLPHP

编译运行Main_test.java后输出了“Hello Word!”,说明main方法是可以被继承。

4、main方法的隐藏

Main.java:
 public class Main{
public static void main(String[] args) {
System.out.println("Main");
}
}
Main_test.java
 public class Main_test extends Main{
public static void main(String[] args) {
System.out.println("Main_test");
}
}

Java main方法全解-LMLPHP

很显然父类Main中的main方法被隐藏,结果显示的是子类中的main方法中的内容。

关联博客(博客园):

 
 
04-25 13:10