2012-07-17 123 views
3

可能重複:
Who calls the main function in java?main()中的返回返回到哪裏?

考慮以下代碼:

class abc { 
    public static void main(String x[]) { 
    return; 
    } 
} 

哪裏去控制當到達return什麼?當我們執行這個程序,通過

$ java abc 

說爲main方法編譯器的搜索,然後進一步進行。在其他情況下,我們調用一個函數,如果我們達到return,則控制返回到最後一個調用點。

+5

它結束主線程。 – 2012-07-17 13:20:42

+2

像往常一樣,控制去哪裏它來自:) – dasblinkenlight 2012-07-17 13:21:23

+5

這不應該被拒絕。這是關於java中控制流的有效問題。 – mfrankli 2012-07-17 13:23:18

回答

7

該控件總是返回給呼叫始發者。在這種情況下,發起者可以是操作環境或另一種稱爲main的方法(請記住,當涉及到被叫時,main並不是特殊的,其他方法也可以調用它)。

+0

+1對於「主要不是什麼特別的方式」......記得我當一些代碼「打電話給主要人員」時學生感到驚訝:-) – jalopaba 2012-07-17 13:25:56

+0

我有一個非凡的2moro,所有這些愚蠢的問題都源於我的頭腦。如果我的老師問我,主線程結束是什麼意思..或者我應該回答「程序在主控方法出來後結束」 – Nil 2012-07-17 13:26:48

+3

@ rd4code:程序可能不會結束 - 您可能有其他前景線程執行。僅僅因爲「主」完成並不意味着JVM死亡。 – 2012-07-17 13:28:31