在學習jar包之前,要先弄清楚Java包,以及關於Java包的相關概念。
一、套件
為了更好地組織類,Java提供了套件機制。包是類別的容器,用來分隔類別名稱空間。如果沒有指定包名,所有的範例都屬於一個預設的無名包。
格式為:
package pkg1[. pkg2[. pkg3…]];
程式碼實例:
1 /** 2 *@version 2017-06-17 3 *@author zhou 4 */ 5 6 7 package cn.com.zhouzhou;//包名一定要由小写字母组成 8 public class Lession1 { 9 public static void main(String[] args) {10 System.out.println("这是我创建的第一个在包下的文件");11 }12 }
#注意事項:
1.程式中若有package語句,則該語句一定是來源文件中的第一個可執行語句;
2.package語句的前面只能有註解或空白行;
3.一個檔案中最多只能有一條package語句;
4.包的名字有層次關係,各層之間以點分隔(上例中的「cn.com.zhouzhou」);
(圖:示範)
5.套件層次必須與Java開發系統的檔案系統結構相同;
6.通常在套件名稱中全部用小寫字母;
7 .當使用套件說明時,程式中無需再引用(import)同一個套件或該套件的任何元素;
8.import語句只用來將其他套件中的類別引入目前名字空間。而當前包總是處於當前名字空間中。
* 範例示範:
#1)編譯的時候用:(我的檔案是存在E碟了)
e:\>javac -d . Lession1.java // 可以產生對應的資料夾結構
2)執行的時候,要執行全類別名稱
java cn .com.zhouzhou.Lession1
注意事項說明:
1.同一個原始檔中的類別,都在同一個包中,同一個包中的內容互相訪問,不用導包;
2.導包的時候以下兩句;
import cn.com.zhouzhou.beans.*;
import cn.com.zhouzhou.beans. UserInfo;
這兩句,只在編譯的時候有後者稍快一點,在運行的時候沒有任何區別
3.如果要設定classpath ,要設定到最外層的資料夾所在的目錄上,例如:
package cn.com.zhouzhou;
set classpath=cn的所在的資料夾名稱
4.對於父包和子包,在使用上沒有任何關係,只要不在一個包中,引用的時候就必須導包;
#5.以後在開發中,如果出現一個類名找不到的情況,主要以下原因:
1)類別名稱寫錯了
2)套件名稱錯了
3)classpath 設定錯了
6.對於java. lang 套件下的類別,使用的時候可以不導包。
二、jar套件
java中的jar檔 ,裝的是 .class 檔案。它是一種壓縮,和zip相容,被稱為jar包。 JDK提供的許多類,也是以jar套件的形式提供的。
在用的時候呢,你的文件裡有很多個類,把這些類和他們的目錄一起壓縮到一個文件中給別人,會顯得更專業,有條理。別人拿到這個jar包之後,只要讓他的classpath 的設定中包含這個jar檔,java虛擬機,在裝載類的時候,就會自動解壓這個jar檔,並將其當成目錄,然後在目錄中查找我們所要的類別及類別的包名和所對應的目錄的結構。
那麼要如何建立一個Jar套件呢?下面我將示範一下具體步驟:
1.需要打成jar套件的檔案
1 package cn.com.zhouzhou;//包名一定要由小写字母组成2 public class Lession2{3 public static void main(String[] args) {4 System.out.println("这是我要打jar包的文件");5 }6 }
2.編譯
e:\> javac -d . Lession2.java
(d後面的點,點的兩側都要有空格)
3.打Jar包
jar -cvf myjarbao.jar cn
(產生名叫myjarbao.jar的檔案;後面的cn不要忘記)
#產生結果如下:
#
以上是Java基礎-關於jar包的知識的詳細內容。更多資訊請關注PHP中文網其他相關文章!