1. 程式人生 > 實用技巧 >java的main方法為什麼必須是public static void

java的main方法為什麼必須是public static void

在java核心程式設計中,JVM會查詢類中的public static void main(String[]args),如果找不到該方法就會丟擲NoSuchMethodError:main程式終止

main方法必循是public static void,引數是字串陣列,如果是Java1.5及以後的版本還可以使用可變引數:

public static void main(String...args)

為什麼main方法是靜態的(static?)

1.正因為main方法是靜態的,JVM呼叫這個方法就不需要建立任何包含這個方法的例項

2.如果main方法不宣告為靜態的,JVM就必須建立main的例項,因為構造器可以被過載,JVM就沒有確定呼叫哪個方法

3.靜態方法和靜態資料載入到記憶體就可以直接呼叫而不需要像例項方法一樣建立例項才可以呼叫,如果main方法是靜態的,那麼它就會被載入到JVM上成為可執行的方法

為什麼main方法是公有的(public)?

java可指定一些可訪問的修飾符,如private,protected,public,任何方法和變數都可以宣告為public,java可以從該類之外的其它地方訪問,因為main是公共的,JVM就可以輕鬆的訪問執行它

為什麼main方法沒有返回值

因為main返回值對程式沒任何意義,所以設計成void,意味著main不會有任何返回值