首頁 > 軟體

Java中的main()方法詳解

2019-12-10 12:52:39

在Java中,main()方法是Java應用程式的入口方法,,因為JAVA是在C++的基礎上開發的語言,main也是c++的程式入口,這裡就說一下JAVA的main方法。也就是說,程式在執行的時候,第一個執行的方法就是main()方法,這個方法和其他的方法有很大的不同,比如方法的名字必須是main,方法必須是public static void 型別的,方法必須接收一個字串陣列的引數等等。

1

在看Java中的main()方法之前,先看一個最簡單的Java應用程式HelloWorld,我將通過這個例子說明Java類中main()方法的奧祕,程式的程式碼如下:



2

一、先說類:

 

HelloWorld 類中有main()方法,說明這是個java應用程式,通過JVM直接啟動執行的程式。

既然是類,java允許類不加public關鍵字約束,當然類的定義只能限制為public或者無限制關鍵字(預設的)。


3

二、再說main()方法

 

這個main()方法的宣告為:public static void main(String args[])。必須這麼定義,這是Java的規範。

 

為什麼要這麼定義,和JVM的執行有關係。

當一個類中有main()方法,執行命令「java 類名」則會啟動虛擬機器執行該類中的main方法。

 

由於JVM在執行這個Java應用程式的時候,首先會呼叫main方法,呼叫時不範例化這個類的物件,而是通過類名直接呼叫因此需要是限制為public static。

 

對於java中的main方法,jvm有限制,不能有返回值,因此返回值型別為void。

main方法中還有一個輸入引數,型別為String[],這個也是java的規範,main()方法中必須有一個入參,類細必須String[],至於字串陣列的名字,這個是可以自己設定的,根據習慣,這個字串陣列的名字一般和sun java規範範例中mian引數名保持一致,取名為args。

 

因此,main()方法定義必須是:「public static void main(String 字串陣列引數名[])」。


4

三、main()方法中可以throw Exception

 

因此main()方法中可以丟擲異常,main()方法上也可以宣告丟擲異常。

 

比如,下面這個寫法是正確的:




5

四、main()方法中字串引數陣列作用

 

main()方法中字串引數陣列作用是接收命令列輸入引數的,命令列的引數之間用空格隔開。

 

下面給出一個例子,看看如何初始化和使用這個陣列的。


6

五、給出HelloWorld的另外一個版本

這個main()方法執行的內容就一句"System.exit(0);" ,目的是讓程式正常結束。那「HelloWorld!」是從哪裡列印的,秘密就是在static列印的,因為static程式碼塊的內容會在main呼叫前呼叫。


7

總結:main方法作為一個特殊的規範,與普通的方法有很大區別,限制很多,理解其原理需要學習JVM相關知識。是Java中學習中大障礙。這是我對main原理和使用的總結

IT145.com E-mail:sddin#qq.com