1. 程式人生 > >Java main方法全解

Java main方法全解

xtend 圖片 關聯 hello int -h cti TP inf

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 }

技術分享圖片

以上實例說明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方法是可以被調用的。

技術分享圖片

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 }

技術分享圖片

編譯運行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 }

技術分享圖片

很顯然父類Main中的main方法被隱藏,結果顯示的是子類中的main方法中的內容。

關聯博客(博客園):

Java main方法全解