下面對java中的主函數進行簡單的解釋,解決可能困惑大家的問題,下面舉的例子在實際開發中幾乎不會出現,但是為了解決好奇心,大家可以這么去嘗試一下!
我們在java中看到的主函數通常是這樣的:
public static void main(String[] args)
public:訪問權限最高。
static:靜態,表示加載類的時候主函數就已經存在了。
void:表示主函數不返回任何值。
main:不是關鍵字,但是一個特殊單詞,能被虛擬機所識別。
String[] args:表示主函數所帶的參數為數組,數組名為args,數組名也可以為其他的名字,都不會造成影響。
我們也可以通過以下代碼可以驗證:
1 class MainDemo 2 { 3 public static void main(String[] args) 4 { 5 System.out.println(args); 6 System.out.println(args.length); 7 } 8 }
輸出結果為:
[Ljava.lang.String;@659e0bfd
0
說明參數是String類型的數組,數組長度為0。
因為此時數組長度為0,也就是沒有任何數組,如果嘗試輸出args[0],那將會提示越界。
我們可以向數組里面傳數據,有兩種方式傳入數據:
1.運行時傳入數據:
1 class MainDemo 2 { 3 public static void main(String[] args) 4 { 5 System.out.println(args[1]); 6 System.out.println(args.length); 7 } 8 }
在控制台中分別執行:
javac MainDemo.java
java MainDemo hello world java javaweb
輸出的結果為:
world
4
其中 java MainDemo hello world java javaweb 中,“hello world java javaweb”是所輸入的數據,用空格隔開
2.編寫兩個類並分別編寫主函數:
1 class MainDemo 2 { 3 public static void main(String[] args) 4 { 5 String[] arr=new String[]{"hello","world","java","javaweb"}; 6 Main.main(arr); 7 } 8 } 9 class Main 10 { 11 public static void main(String[] args) 12 { 13 System.out.println(args[2]); 14 System.out.println(args.length); 15 } 16 }
在控制台中分別執行:
javac MainDemo.java
java MainDemo
輸出的結果為:
java
4