[英]variations on public static main (String args[])
這四個方法簽名之間有什么區別,為什么第四個方法不起作用?
public void main(String args[]) {... }
public void main(String[] args) {... }
public void main(String... args) {... }
public void main(String[] args[]) {... }
前三個是等效的。 *最后一個等效於String[][] args
(即數組的數組),它與Java對main
要求不匹配。
但是,慣用的版本是第二個。
String args[]
和String[] args
完全等效。 第一種形式是數組聲明的“ C”形式,將[]
應用於變量名。 第二種形式是首選的Java形式,其中[]
在邏輯上與類型名而不是變量名關聯。 Java允許兩種形式互換使用。
第三種形式似乎是可變長度參數列表形式,盡管我從未研究過該領域。
第四種形式是可憎的,只能潛行於規范的裂縫中,永遠不要使用。 我的猜測是它指定了二維數組,但是如果不嘗試它就無法確定。
請注意,關於public static main
並沒有什么神聖的。 您可以命名任何main
方法,並可以在任何地方調用它。 只是從命令行運行Java程序時,JAVA命令會查找該名稱的對象(具有通常的參數布局)作為入口點。 直到那時main
都像其他方法一樣被對待。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.