Java零基礎學習之路(一)Java 開發環境搭建

ZZ100861122發表於2020-12-01

第一章 Java 開發環境搭建

學習目標
掌握 Java 的開發環境搭建,會編寫 HelloWorld 程式,並能夠準確的進行編譯和執行;理 解 path 和 classpath 環境變數並可以自行配置。

知識框架

Java 語言概述(瞭解)

Java 程式語言是 Sun Microsystems 公司的 James Gosling 在 1990 年建立的,於 1995 年公佈於世(一般說 Java 誕生於 1995 年)。Java 是一門物件導向的程式語言,不僅吸收了 C++語言的各種優點,還摒棄了 C++裡難以理解的多繼承、指標等概念,因此 Java 語言具有功能強大和簡單易用兩個特徵。Java 語言作為物件導向程式語言的代表,極好地實現了物件導向理論,允許程式設計師以優雅的思維方式進行復雜的程式設計。

目前在世界各地都有 Java 程式設計師的存在,你走到哪裡也不再孤單,因為有你的 Java 程式設計小 夥 伴 在 陪 伴 著 你 。 我 們 一 起 來 看 看 世 界 編 程 語 言 排 行 榜 TIOBE(https://www.tiobe.com/tiobe-index/)給出的統計資料。
圖 1-1 : 2018 年 5 月程式語言排行榜
上圖是 TIOBE 排行榜給出的 2018 年 5 月份的程式語言排行榜的統計資料,如果你一直在 關注程式語言排行榜,那麼你應該很容易發現 Java 的排名多年以來一直在前兩名徘徊,並且 多數情況下都是以排名第一的形式存在。

我們知道的 Java 包括三大塊,分別是 JavaSE、JavaEE、JavaME,這三

者之間存在什麼樣的關係呢?請看下圖你就明白了:

圖 1-2:JavaSE、JavaEE、JavaME 三者關係

如上圖所示,JavaEE 和 JavaME 都包含 JavaSE。實際上,這三大塊就是 Java 的三大版本,JavaSE 是 Java 的標準版,是學習 JavaEE 和 JavaME 的基礎,JavaEE 是企業版,JavaME 是微型版。

Java SE(Java Platform,Standard Edition)。Java SE 以前稱為 J2SE。它允許開發和部署在桌面、伺服器、嵌入式環境和實時環境中使用的 Java 應用程式。Java SE 包含了支援 Java Web服務開發的類,併為 Java Platform,Enterprise Edition(Java EE)提供基礎。
Java EE(Java Platform,Enterprise Edition)。這個版本以前稱為 J2EE。企業版本幫助開發和部署可移植、健壯、可伸縮且安全的伺服器端 Java 應用程式。Java EE 是在 Java SE 的基礎上構建的,它提供 Web 服務、元件模型、管理和通訊 API,可以用來實現企業級的面向服務體系結構(service-oriented architecture,SOA)和 Web 2.0 應用程式。
Java ME(Java Platform,Micro Edition)。這個版本以前稱為 J2ME。Java ME 為在移動裝置和嵌入式裝置(比如手機、PDA、電視機頂盒和印表機)上執行的應用程式提供一個健壯且靈活的環境。Java ME 包括靈活的使用者介面、健壯的安全模型、許多內建的網路協議以及對可以動態下載的連網和離線應用程式的豐富支援。基於 Java ME 規範的應用程式只需編寫一次,就可以用於許多裝置,而且可以利用每個裝置的本機功能。 

綜上所述,我們用幾句話簡單概括一下它們之間的區別。

Java 標準版,主要做一般的 Java應用,比如應用軟體/ QQ 之類的通訊軟體等等。
Java 企業版,主要做企業應用,比如公司網站,企業解決方案等。
Java 微型版,主要面向嵌入式等裝置應用的開發,比如手機遊戲等。

JDK、JRE、JVM 三者關係(理解)

在學習 Java 之前,我們需要對一些專業術語有一定的瞭解,在 Java 中常見的專業術語包括:JDK、JRE、JVM 等,它們分別是什麼,它們之間的關係又是怎樣的呢,請看下圖:

從上圖中我們可以看到,JDK、JRE、JVM 之間存在這樣的包含關係:JDK包含 JRE,JRE又包含 JVM。換句話說,只要安裝了 JDK,JRE 和 JVM 則自動就安裝了。那麼它們分別代表什麼呢:

① JDK:JDK(Java Development Kit) 是 Java 語言的軟體開發工具包(SDK)。它是每一個 Java 軟體開發人員必須安裝的。JDK 安裝之後,它會自帶一個 JRE,因為軟體開發人員編寫完程式碼之後總是要執行的。注意:如果只是在這臺機器上執行 Java 程式,則不需要安裝 JDK,只需要安裝 JRE 即可(JRE 是有獨立安裝包的,這個大家可以從 Oracle 官網上找一下)。

② JRE:JRE(Java Runtime Environment,Java 執行環境),執行 JAVA程式所必須的環境的集合,包含 JVM 標準實現及 Java 核心類庫。

③ JVM:JVM 是 Java Virtual Machine(Java 虛擬機器)的縮寫,JVM 是一種用於計算裝置的規範,它是一個虛構出來的計算機,是通過在實際的計算機上模擬模擬各種計算機功能來實現的。JVM 是實現 Java 語言跨平臺的法寶。在這裡我需要重點強調一下,不同的作業系統需要安裝不同版本的 JDK,有專門的 windows版 JDK,Linux 版 JDK,Mac 版 JDK 等,當然不同版本的 JDK安裝之後會對應不同版本的 JRE和 JVM。
Java程式的開發過程與執行過程

圖1-9:Java的載入與執行

● Java程式從開發到執行包括編譯和執行兩個階段,這兩個階段可以在不同的作業系統中完成,例如在windows環境下進行編譯,在Linux環境下執行,這是因為有JVM機制的存在,做到了一次編譯到處執行(跨平臺/可移植)。

● 編譯階段需要使用javac.exe(安裝JDK之後該命令就存在了)命令,執行階段需要使用java.exe(安裝JRE之後該命令就存在了)命令。

● 一個java原始檔可能會編譯生成多個class檔案。

● java原始檔中的原始碼如果不符合java的語法機制則編譯時編譯器會提示錯誤資訊,並且無法生成class檔案。反之則生成class檔案,而class檔案才是最終要執行的程式,此時將java原始檔刪除是不會影響java程式執行的(當然,我們也不必刪除java原始檔,因為在執行class檔案之後,如果沒有達到預期的執行效果,這個時候還需要將java原始碼修改,重新編譯,以達到最終的執行效果)。

● 若生成的位元組碼檔名為A.class,那麼我們稱A為一個類的名字(這個先記住就行,後面的內容會講)。

● 當編譯階段完成之後,我們可以使用JRE中的java.exe命令執行程式,例如執行命令“java A”,該命令執行後會啟動類載入器,類載入器去硬碟上搜尋A.class檔案,找到該位元組碼檔案之後,將其載入到JVM當中,JVM中的直譯器會將A.class位元組碼檔案解釋為作業系統可以執行的二進位制碼,然後作業系統通過執行二進位制碼和硬體平臺互動。

● 執行java程式的前提是當前作業系統上已經安裝了對應版本的JVM(JVM不是單獨安裝的,安裝JRE即可,不同的作業系統需要安裝不同版本的JRE,不同版本的JRE對應不同版本的JVM)。
編寫第一個Java程式
windows系統當中顯示副檔名

java原始檔要求副檔名必須為.java,不能使用其他副檔名,有些作業系統預設不顯示副檔名,大家可按照以下步驟,將檔案的副檔名顯示出來(以win7系統為例):

圖1-10:開啟桌面上的計算機,選單欄上的“工具”

圖1-11:資料夾選項

圖1-12:點選“檢視”,把上圖紅框的對勾去掉

windows dos 常用命令

● 開啟DOS命令視窗,使用快捷鍵:win + r,輸入cmd,回車。

● dir命令:檢視當前目錄下所有的子檔案或子目錄。

● cd命令:切換路徑,使用方法是:cd+目錄路徑,需要注意的是路徑包括相對路徑和絕對路徑,對於windows來說從硬碟的根路徑下開始的路徑都是絕對路徑,例如:C:\Program Files、C:\Program Files\Java等,所有的相對路徑都是從當前所在目錄作為起點開始查詢的路徑。另外cd …切換到上級目錄,cd \切換到根目錄。

圖1-13:cd命令使用辦法

● 切換碟符:直接輸入c:,或者d:,然後回車即可。切換碟符不需要cd命令。

● del命令:刪除檔案或目錄,例如:del *.class,刪除當前目錄下所有的.class檔案。

● ipconfig命令:檢視IP地址等資訊,檢視更詳細的資訊使用ipconfig /all。

● ping命令:檢視兩臺計算機是否可以正常通訊,例如:ping 192.168.1.100,正常情況下傳送資料包和接收資料包數量相同並且沒有延遲的時候表示通訊正常,ping 192.168.1.100 -t表示一直髮送資料包和接收資料包,ping www.baidu.com可以檢視電腦是否可以正常上網。

● shutdown命令:設定定時關機,例如:shutdown -s -t 7200表示2個小時之後自動關機。

● mkdir命令:建立目錄,例如:mkdir abc表示在“當前目錄”下新建abc目錄。

● cls命令:清屏。

● exit命令:退出DOS命令視窗。

文字編輯器EditPlus安裝與配置

這裡安裝的EditPlus版本為:

雙擊之後,一直點選下一步就可以了。

以下主要說一下對該工具的配置:取消自動備份、設定字型大小、設定縮排長度:

圖1-14:選單欄“工具”,然後“首選項”

圖1-15:設定字型和取消自動備份

圖1-16:設定縮排長度

圖1-17:這裡設定縮排長度為3
常用文字編輯快捷鍵

使用快捷鍵可以大大提高開發效率,從現在起你應該儘可能使用快捷鍵來代替滑鼠,以下先列舉出通用的文字編輯快捷鍵。當然,如果大家想熟練掌握,還是需要後期不斷的使用:

● ctrl+c 複製

● ctrl+v 貼上

● ctrl+x 剪下

● ctrl+s 儲存

● ctrl+z 撤銷

● ctrl+y 重做

● ctrl+a 全選

● home 游標回到行首

● end 游標回到行尾

● ctrl + home 游標回到文章開始

● ctrl + end 游標回到文章末尾

● shift + home 或 end 選中一行

● 滑鼠雙擊 (選中一個單詞)

● ctrl + shift + 右箭頭或左箭頭 (選中一個單詞

● ctrl + f 查詢

JDK的下載與安裝

Java語言由Sun(Sun Microsystems)公司開發,2009年時被Oracle(甲骨文)公司收購,所以目前JDK需要從Oracle下載,Oracle官網地址是https://www.oracle.com,這裡我們學習Java10版本,所以下載JDK10,具體下載過程如下圖所示:

圖1-18:選擇JavaSE

圖1-19:點選“Download Java SE…”

圖1-20:點選“DOWNLOAD”

注意:JDK10要求windows作業系統必須是64bit的。下載完成之後,直接雙擊進行安裝,具體步驟如下所示:

圖1-22:點選“下一步”

圖1-23:選擇JDK10的安裝目錄,點選下一步

圖1-24:正在安裝JDK10

圖1-25:選擇JRE10的安裝目錄,點選“下一步”

圖1-26:正在安裝JRE10

圖1-27:點選關閉,安裝結束
JDK的bin目錄

圖1-28:java和javac命令的存放位置

javac.exe命令用來完成java程式的編譯,java.exe命令用來完成java程式的執行。
Java編寫helloworld

該程式大家目前不需要理解,照抄就行,包括大小寫以及標點符號,這只是一個測試Java環境的程式,後期學習的過程中會讓大家理解該程式的含義。首先新建檔案,具體程式碼如下所示:

public class HelloWorld {
	public static void main(String[] args) {
		System.out.println("動力節點-口口相傳的Java黃埔軍校");
	}
}

編譯HelloWorld程式

編譯java程式需要使用JDK bin目錄下的javac.exe命令,首先我們來看看這個命令是否可以在DOS命令視窗中使用,如下圖所示:

圖1-29:測試javac命令

根據以上測試結果,說明在“C:\Users\Administrator”目錄下javac命令是無法使用的,那麼我們來切換到另外一個目錄“C:\Program Files\Java\jdk-9.0.4\bin”再來測試,如下圖所示:

圖1-30:切換到bin目錄下再次測試javac命令

根據測試結果可以得出:windows作業系統預設是從當前路徑下查詢可執行命令檔案的。但每一次使用javac命令的時候都需要切換到bin目錄下,顯然是很麻煩的,有什麼比較方便的方法嗎?我們先來研究一下ipconfig命令是怎麼執行的,如下圖所示:

圖1-31:測試ipconfig命令

ipconfig.exe檔案實際上在“C:\Windows\System32”目錄下,如下圖所示:

圖1-32:ipconfig.exe在這裡

ipconfig命令為什麼在命令視窗可以直接執行而不需要切換到命令所在目錄呢?實際上是因為windows系統中的環境變數path在起作用。如下圖所示,windows作業系統有這樣的預設配置:

圖1-33:windows自帶的path環境變數配置

我們來做一個實驗,把上圖path環境變數當中的“C:\Windows\System32;”刪掉。怎麼刪除呢?滑鼠雙擊Path,將“C:\Windows\System32;”刪除,注意:System32路徑後面的半形分號也需要刪除,然後點選確定。將所有的DOS命令視窗全部關閉(注意:修改了任何環境變數,DOS命令視窗都需要關閉之後重新開啟,這樣新的環境變數才會生效),開啟一個新的DOS命令視窗,測試ipconfig,如下圖所示:

圖1-34:測試ipconfig命令

根據以上測試,windows作業系統已經找不到ipconfig.exe檔案了,接下來我們再重新恢復path環境變數的配置,配置環境變數path的步驟是這樣的:在電腦桌面圖示上點選滑鼠右鍵,繼續點選,在彈出的視窗上選擇然後在彈出的視窗上點選,此時會彈出以下視窗:

圖1-35:配置環境變數的視窗

在上圖的系統變數當中找到path環境變數,點選“編輯”,將“C:\Windows\System32;”新增到path環境變數當中(注意:環境變數path當中有很多路徑,路徑和路徑之間必須使用半形的英文分號進行分隔),然後點選確定,重新配置了環境變數需要關閉所有DOS命令視窗,開啟一個新的DOS視窗測試ipconfig命令,如下圖所示:

圖1-36:測試ipconfig命令

根據以上講解,我們怎麼讓javac命令可以使用呢?很簡單,我們只要把“C:\Program Files\Java\jdk-9.0.4\bin;”路徑配置到環境變數path當中即可,配置完成之後,再次測試javac命令,如下圖所示:

圖1-37:測試javac命令

在javac命令後面新增“-version”引數可以檢視編譯器的版本,如下圖所示:

圖1-38:檢視編譯器版本

到這裡,大家應該掌握環境變數path的配置了吧?通過以上內容的學習,大家應該思考這樣一個問題:path環境變數是隸屬於java的嗎,它和java有關係嗎?答案是:path環境變數隸屬於windows作業系統,不屬於java範疇,是windows作業系統搜尋某個命令檔案的路徑依據。windows作業系統到底是如何搜尋命令檔案的呢?實際上它會先在當前路徑下找,找不到的時候會自動去環境變數path的路徑中查詢,找到則執行該命令,找不到則在DOS視窗中提示錯誤資訊。希望大家以後遇到類似的“在DOS命令視窗中輸入某個命令時出現找不到命令”這樣的問題都能夠獨立的解決。

通過以上的配置,javac命令已經可以使用了,那麼它具體怎麼使用才能編譯java程式呢,接下來我們詳細的講解一下javac命令的具體使用辦法。

javac命令的語法格式是:“javac java原始檔路徑”,非常簡單,就是javac命令後面加上java原始檔的路徑,當然,之前我們說過,路徑包括絕對路徑和相對路徑。也就是說javac後面的java原始檔路徑可以是絕對的也可以是相對的,如下圖所示:

圖1-39:編譯之前

圖1-40:編譯之後(絕對路徑方式)

圖1-41:編譯之後(相對路徑方式)

我們把HelloWorld.java檔案中的程式故意修改讓其出現錯誤,再次編譯,如下圖所示:

public class HelloWorld {
	public static void main(Strin[] args) {//String修改為Strin
		System.out.println("動力節點-口口相傳的Java黃埔軍校");
	}
}

圖1-42:編譯器報錯測試

通過以上的測試,可以得出這樣的結論:java原始碼中存在語法錯誤,在編譯的時候編譯器會提示錯誤訊息,並且不會生成class位元組碼檔案。在以後的學習過程當中,編譯的時候儘可能將錯誤資訊記錄起來,並且給出該錯誤的解決方案,久而久之不斷積累,大家就會成為改錯高手。

小結:通過本小節的學習,每位同學都必須掌握path環境變數的作用,以及它是怎麼配置的,還有怎麼使用javac編譯java源程式
執行HelloWorld程式

執行java程式的前提是已經正常生成了class位元組碼檔案,本課程中生成的class檔案是,我們稱HelloWorld為類名。那麼怎麼執行呢,這個時候就需要藉助JDK bin目錄下的java.exe命令了,我們先來測試這個命令是否可以在DOS視窗中使用,如下圖所示:

圖1-43:測試java.exe是否可

經過測試,我們看到java.exe命令是可以在DOS視窗中直接使用的,其實只要javac.exe可以使用,那麼java.exe就一定可以使用,因為javac.exe和java.exe都在JDK的bin目錄下,之前的課程中這個目錄已經配置到環境變數path當中,所以這裡java.exe肯定也是可以使用的。

那麼java.exe具體怎麼使用呢,語法是:“java 類名”,需要注意的是java命令後面是類名,而不是class檔案的名字,也不是class檔案的路徑,不能這樣寫java HelloWorld.class,也不能這樣寫java E:\course\JavaProjects\01-JavaSE\chapter01\HelloWorld.class,只能這樣寫:java HelloWorld,它的執行原理是:在命令視窗中輸入“java HelloWorld”回車之後,先啟動的是類載入器,類載入器從硬碟上查詢HelloWorld.class位元組碼檔案,預設情況下類載入器只從當前路徑下查詢,查詢到之後則將HelloWorld.class檔案載入到JVM並執行,如果沒有查詢到則會出現錯誤資訊(如果輸入的是“java A”那麼類載入器會從硬碟上查詢A.class位元組碼檔案,以此類推),如下圖所示:

圖1-44:執行HelloWorld類(正常)

由於預設情況下類載入器只從當前所在的路徑下載入位元組碼檔案,如果該位元組碼檔案不存在會提示什麼錯誤資訊呢?請看下圖:

圖1-45:執行A類(錯誤)

類載入器預設從當前路徑下載入,那麼可以指定讓類載入器從指定的目錄下載入class檔案嗎?答案是可以的,這個時候就需要藉助classpath這個環境變數了(classpath環境變數隸屬於java語言,專門給類載入器指路的),接下來我們來設定一下classpath環境變數,此處把classpath設定為E:\,如下圖所示:

圖1-46:設定環境變數classpath

設定完成後關閉所有DOS視窗,重新開啟新視窗,接下來看下圖

圖1-47:測試環境變數classpath

通過以上的測試得知,當環境變數classpath=E:\之後,chapter01目錄下雖然有HelloWorld.class,並且當前目錄就在chapter01下,但執行的時候卻出現了以上錯誤資訊,可見類載入器不再從當前路徑下載入了。那我們把HelloWorld.class檔案放到E:\目錄下呢?請看下圖:

圖1-48:測試環境變數classpath

通過以上的測試可以得出,當設定環境變數classpath=E:\的時候,類載入器只去E:\目錄下載入class檔案了,不再從當前目錄下載入,也不會去其它目錄下載入。這樣對於以後的開發來說反而更麻煩了,因為每一次編譯生成的class檔案都要放到E:\目錄下類載入器才能找到,所以目前來說classpath環境變數是不需要配置的,因為classpath在沒有配置的情況下,類載入器預設會從當前所在的目錄下載入class,也就是說以後要想執行class首先要將DOS視窗的目錄切換(cd命令)到class檔案所在的位置,然後再執行。當然我們也可以把環境變數classpath配置為:classpath=.,因為.代表當前路徑。

小結:通過以上內容的學習,我們知道classpath環境變數不屬於windows作業系統,是java程式語言當中的一種機制,這種機制是專門為類載入器載入class檔案時提供路徑依據的。最終的結論是classpath環境變數目前是不需要配置!當然,隨著後面內容的學習,大家會知道classpath環境變數總有一天是需要配置的,到那個時候大家可別忘了將“當前路徑.”配置到classpath當中,例如:classpath=.;path1;path2;,如果沒有把.配置到classpath當中,那麼類載入器就不再從當前路徑下載入class了。到此為止大家必須掌握兩個重要環境變數,一個是windows作業系統的path環境變數,另一個是java語言的classpath環境變數。至於有些參考資料上還提到了JAVA_HOME等環境變數,其實這些環境變數對於我們目前來說是不需要配置的,以後用到的時候再說吧。
Java中的註釋

註釋是對程式碼的解釋和說明,其目的是讓程式設計師能夠更加快速的理解程式碼。它是編寫程式時,寫程式的人給一個語句、程式段等的解釋或提示,能提高程式程式碼的可讀性。註釋在編譯的時候不會生成到class位元組碼檔案當中,它只在java原始檔中停留。

Java語言的註釋包括三種方式,請看以下程式:

/**
 * (javadoc註釋,寫在這裡的註釋資訊會被JDKbin
 * 目錄下的javadoc.exe工具提取並生成幫助文件)
 * 以下程式實現列印九九乘法表功能
 * @author bjpowernode-dujubin
 * @version 1.0
 * @since 1.0
 */
public class NineByNine {
	
	/*
	 	這是程式的入口,也稱為主方法(多行註釋)
	 	類載入之後,程式從這裡進來開始執行
	 */
	public static void main(String[] args) {
		for( int i = 1 ; i <= 9 ; i ++ ){ //外層迴圈9次,九九乘法表共9行
			for( int j = 1 ; j <= i ; j ++ ){
				System.out.print( j + "*" + i + "=" + i * j + " ");
			}
			System.out.println(); //換行(單行註釋)
		}
	}
}

養成編寫註釋的好習慣,要有編寫註釋的意識(編寫註釋是程式設計師最基本的素質),當然,寫註釋也是有技巧的,不是所有位置都寫,不是把寫的程式碼原版翻譯過來,高手往往在寫註釋的時候,不多不少,能夠做到恰到好處,幾句話就可以描述清楚程式的核心功能。記住:註釋的作用不在於表示程式碼的含義,而在於表示程式碼的功能。希望在以後的課程當中通過慢慢的培養,能夠寫一手漂亮的註釋,當然,目前大家只需要掌握註釋有哪幾種,分別寫到什麼符號裡就行了。

使用註釋對HelloWorld程式進行解釋說明,這裡的描述大家先有個印象就行,後面的課程大家會理解的:

//public關鍵字表示公開的
//class關鍵字用來定義類
//HelloWorld是類名
public class HelloWorld {//定義一個公開類,起名HelloWorld
	//大括號要成對兒寫
	//這裡的大括號括起來的是“類體”
	//這是程式的入口,從這裡進來執行
	//static表示靜態的
	//void表示main方法執行結束之後不返回任何資料
	//以下行程式碼除了args可以修改為其它名字之外,剩下的都是固定寫法
	//編寫程式碼從現在養成好習慣:合理縮排
//(你包含著我,或者說我比你低一級,就要縮排)
	public static void main(String[] args) {
		//這裡的大括號括起來的是“方法體”
		//向控制檯輸出一句話
		//小括號裡面的雙引號必須是半形的,不能採用中文
		//這是一條java語句,java語句以“;”結尾,這裡的“;”也是半形
		System.out.println("動力節點-口口相傳的Java黃埔軍校");
	}
	//類體中不能直接編寫以下語句
	//System.out.println("動力節點-口口相傳的Java黃埔軍校");
}

Java中public class與class的區別

圖1-49:一個java原始檔中可定義多個class

通過以上的測試可以得出:一個java原始檔中可以定義多個class,並且在編譯的時候一個class會對應編譯生成一個class位元組碼檔案。還有,public的class可以沒有。

圖1-50:public class的類名要求和java原始檔名一致

通過以上的測試可以得出:如果定義public class的類,只能定義一個,並且要求此類名必須和java原始檔名保持一致。(這是規則記住就行,學計算機程式語言有很多知識點在學習的時候很難理解,只能靠記憶,隨著後面內容的學習,大家會對以前困惑的知識點有所理解)

圖1-51:每個類中都可以定義main方法

通過以上的測試可以得出:任何一個class中都可以設定程式入口,也就是說任何一個class中都可以寫main方法(主方法),想從哪個入口進去執行,則讓類載入器先載入對應的類即可,例如:想讓A類中的main方法執行,則執行:java A,想讓B類中的main方法執行,則執行:java B。但實際上,對於一個完整的獨立的應用來說,只需要提供一個入口,也就是說只需要定義一個main方法即可。

還有,在實際的開發中,雖然一個java原始檔可以定義多個class,實際上這是不規範的,比較規範的寫法是一個java原始檔中只定義一個class。

相關文章