2011-08-17 107 views
3

儘管我在java中完成了一些編碼,但我仍然很難理解這個基本概念。當我經歷了一本書,我碰到這條線,這條線說什麼......?

main()必須聲明爲public,因爲程序啓動時,必須通過稱爲代碼 它的類之外。

作者的意思是什麼其他類的代碼

+1

@MByD ..我不是讓誰喊吧..我知道JVM調用它..但我知道我以前不代碼之外意味着它的JVM .. – ngesh 2011-08-17 11:52:03

+1

正如OP所說,這是一個關於**在本書中解釋這個特定句子**的問題,而不是它是否實際上是調用該方法的JVM。 (從問題標題中可以明顯看出) – aioobe 2011-08-17 11:55:44

+0

@aioobe - 我可能因爲「哪個代碼被稱爲」?「這個問題而感到困惑。無論如何,對不起,它聽起來像是一個重複的東西。 – MByD 2011-08-17 12:01:46

回答

8

作者的意思是通過說其代碼之外的代碼..哪些代碼調用它..?

這是調用該方法的JVM,所以,是的,「它的類之外的」應在這種情況下被理解爲「由JVM」。

從技術上講,JVM不是包含main方法的類的一部分,因此該方法必須公開才能調用它。

0

另一個類不在此包或JVM本身。

2

直接JVM調用這個類而不創建這個類的實例,因此它是靜態的。

當你的掩護下運行類的操作系統接收到該命令

java YourMainClass 

這裏的java是您的操作系統知道它在哪裏,並YourMainClass是參數的java它加載類和搜索可執行&調用的主要方法

既然是JVM調用這樣public,因爲它是不創建該對象的任何實例是static

1

由JVM調用main()方法。

0

主要功能是程序的入口點。如果這個功能不是公共和靜態的,你的程序不能啓動。