Java中的main方法,是一個java應用程式的入口,無論一個java的應用多麼複雜龐大,或是多麼的小,只要他是一個可以運行的java程式那麼必然就要有一個main方法。
main方法的定義格式通常固定如下: (建議學習:java課程)
public class Demo { public static void main(String[] args) { System.out.println("Hello Word"); }}
#1、為什麼是公共的(public)
ans1:Java指定了一些可存取的修飾符如:private,protected,public。每個修飾符都有它對應的權限,public權限最大,為了說明問題,我們假設main方法是用private修飾的,那麼main方法出了Demo這個類別對外是不可見的。
那麼,JVM就訪問不到main方法了。因此,為了保證JVM在任何情況下都可以存取main方法,就用public修飾。
ans2:Java設計了幾個存取修飾符,包括:private,protected,public。在Java中聲明為public的任何方法或變數都可以從該類別的外部存取。而JVM訪問main方法顯然不是在類別的內部訪問,因此main方法需要定義為public的方法。
2、為什麼是靜態的(static)
靜態可以讓JVM呼叫main方法的時候更方便,不需要透過物件呼叫。關於static關鍵字我們知道的是,static關鍵字修飾的方法,可以不用建立一個實例去訪問,而是可以透過類別名稱直接存取。且static修飾的方法以及變數儲存在虛擬機器當中的方法區當中,而非堆記憶體當中。
那麼,對於虛擬機器來說也是一樣的道理。 main方法定義為static的,則對虛擬機器來說,程式啟動之後並不需要建立一個實例,就可以去呼叫這個main方法。
3、為什麼沒有回傳值(void)
void表示main方法沒有回傳值,沒有回傳值的原因是因為Java不需要main方法向作業系統返回退出訊息。如果main方法正常退出,那麼Java應用層序的退出代碼為0,表示成功的執行了程式。
4、main
main的名稱不能變是為了JVM能夠識別程式運行的起點,main方法可以被重載,重載的main方法不會被執行。 main方法作為程式初始執行緒的起點,任何其他執行緒均由該執行緒啟動。
JVM內部有兩種線程,非守護線程和守護線程,main方法屬於非守護線程,守護線程通常由JVM自己使用,Java程式也可以表明自己的線程是守護線程。當程式中所有的非守護執行緒終止時,JVM退出。也可以用Runtime類別或System.exit()來退出。
5、String [] args
String[] args,是main方法中唯一可以改變的地方! args是arguments的縮寫,只是一個變數預設名,習慣性寫作它,但是也可以改變的,只要符合命名規則隨便你寫成什麼。
在使用整合開發工具的今天,String[] args更像是一種擺設了,很多初學者都不知道它的作用,其實它是程式運行傳入的一個參數群組。
以上是java中main方法是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!