我們能從java的HelloWorld學到什麼?
阿新 • • 發佈:2019-01-26
這是每個Java程式設計師都知道的。雖然簡單,但是從一個簡單的問題可以引入更深的思考。在這篇文章中,我們將討論這個簡單的程式。如果能更多的幫到你,請留下寶貴的意見。
HelloWorld.java
1、為什麼一切都開始於一個類?
Java程式是由類組成,一個類包含方法和屬性。這是由於它的面向物件的特徵:一切皆物件,每個物件都是一個類的例項。面向物件程式設計有很多優勢,比如更好的模組化,擴充套件性強等
2、為什麼總有一個“main”方法?
“main”方法是程式的入口,它是靜態的。 “static”是指該方法是類的一部分,而不是物件的一部分。
這是為什麼?我們為什麼不把一個非靜態方法作為程式的入口?
如果方法不是靜態的,那麼需要建立一個物件後才能使用方法。因為必須用物件去呼叫方法。對於程式的入口,這是不現實的。所以,程式的入口方法是靜態的。
引數“String[] args”表示一個字串陣列可以被傳入到該程式,用來初始化程式。
3、HelloWorld的位元組碼
執行這個程式,Java檔案首先編譯為java位元組碼儲存在.class檔案裡。
位元組碼是什麼樣子的呢?
首先,位元組碼本身是無法讀取。如果我們用一個十六進位制編輯器開啟,它看起來像下面這樣:
我們能看到很多操作碼(比如 CA、4C 等)在位元組碼上,它們每個都有一個相應的助記碼(比如,aload_0 在下面的例子中)。操作碼是不可讀的,但我們可以用javap命令檢視.class檔案的助記符形式。
“javap -C”打印出每個方法的反彙編程式碼。反彙編程式碼的意思是包括Java位元組碼的說明。