Java main方法全解

时间:2023-01-31 21:25:42

1、main方法的重载

 1 package cn.nxl2018;
 2 
 3 public class Main_test {
 4     public static void main(String args[]) {
 5         System.out.println("应用程序入口的main方法");
 6         main();
 7         main(10);
 8         main(10, 10);
 9     }
10     public static void main(){
11         System.out.println("无参的main方法");
12     }
13     public static void main(int i){
14         System.out.println("有参的重载main方法");
15     }
16     public static void main(int i,int j){
17         System.out.println("有两个参数的重载main方法");
18     }
19 }

Java main方法全解

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

2、main方法的调用

1 public class Main_test {                                        
2     public static void main(String[] args) {
3         main2(args);
4     }
5     public static void main2(String[] args){
6         main(args);
7     }
8 }

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

Java main方法全解

3、main方法的继承

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

Java main方法全解

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

4、main方法的隐藏

Main.java
1 public class Main{
2     public static void main(String[] args) {
3         System.out.println("Main");
4     }
5 }
Main_test.java
1 public class Main_test extends Main{
2     public static void main(String[] args) {
3         System.out.println("Main_test");
4     }
5 }

Java main方法全解

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

关联博客(博客园):