讓我們看看C,C++和Java中main()的方法簽名,而不用太在意它。Java要求main()方法是靜態的。但是C和C++不需要這樣的。爲什麼?
C和C++採用main()函數的語法,如下所示。
int main(void)
{
//Elegant code goes here.
return(0);
}
或者它可以簡單地聲明爲void,如下所示。
void main(void)
{
//Elegant code goes here.
}
如果需要,C和C++中的main()函數可以選擇帶兩個命令行參數。
然而,Java中main()方法的簽名就像這樣。
public static void main(String []args)
{
//Elegant Java code goes here.
}
Java要求的main()方法簡單,因爲它清楚地提到的是被調用時被創建的,因此沒有對象,它必須是靜態的第一種方法是靜態的。同樣的事情也適用於C和C++。 main()函數也是第一個被調用的函數,但它們並不要求main()函數是靜態的。爲什麼?爲什麼Java設計人員在Java中實現main()方法時有不同的看法?
'void main(void)'是不好的。儘管許多編譯器都允許,但它不包含在C標準中,因此它不具有可移植性。我認爲C++標準甚至禁止它,因爲它要求main有返回類型int(但我避免C++足以不確定)。 –