簡體   English   中英

公共靜態主變量的變體(字符串args [])

[英]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要求不匹配。

但是,慣用的版本是第二個。


*第三個僅從Java 5起有效。

String args[]String[] args完全等效。 第一種形式是數組聲明的“ C”形式,將[]應用於變量名。 第二種形式是首選的Java形式,其中[]在邏輯上與類型名而不是變量名關聯。 Java允許兩種形式互換使用。

第三種形式似乎是可變長度參數列表形式,盡管我從未研究過該領域。

第四種形式是可憎的,只能潛行於規范的裂縫中,永遠不要使用。 我的猜測是它指定了二維數組,但是如果不嘗試它就無法確定。

請注意,關於public static main並沒有什么神聖的。 您可以命名任何main方法,並可以在任何地方調用它。 只是從命令行運行Java程序時,JAVA命令會查找該名稱的對象(具有通常的參數布局)作為入口點。 直到那時main都像其他方法一樣被對待。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM