java中package的使用與classpath的設置

今天讀了JAVA2核心技術第1卷:基礎知識中的第4章,對其中的package的使用有些感悟與理解。

寫了兩個類PackageTest、Employee。PackageTest在默認包,Employee在com.horstmann.corejava包中。PackageTest中引用Employee類。

基路徑F:/JavaProgram/packagetest。

F:/

     JavaProgram/

                          packagetest/

                                             com/

                                                    horstmann/

                                                                      corejava/

                                                                                     Employee.java

                                                                                     Employee.class

                                              PackageTest.java

以上是目錄路徑(雖然難看,能看懂就行了)

在命令行中敲入:

F:/JavaProgram/packagetest>javac com/horstmann/corejava/Employee.java

F:/JavaProgram/packagetest>javac packagetest.java

F:/JavaProgram/packagetest>java PackageTest

運行成功了。

關於classpath的講解:

類路徑所列出的目錄和歸檔文件是搜尋類的起始點,下面看一個類路徑示例:

/home/user/classdir;.;/home/user/archives/archive.jar

假設解釋器要搜尋com.horstmann.corejava.Employee類文件。他首先要查看存儲在jre/lib和jre/lib/ext目錄下的歸檔文件中所存放的系統類文件。顯然,在那裏找不到相應的類文件,然後在查看classpath。於是查看:

/home/user/classdir/com/horstmann/corejava/Employee.class(帶有package com.horstmann.corejava)

/com/horstmann/corejava/Employee.class

/home/user/archives/archive.jar中的com/horstmann/corejava/Employee.class

這就表示我們在保存java文件時,要將編譯的class文件放入與包名對應的目錄中。因爲編譯器是根據包名到相應的路徑中查找.class文件。

當然改類必須是在這個包內,否則即使是取Employee.class名,也不會編譯通過。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章