Java基礎——關於jar包的知識,javajar包
在學習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不要忘記)
產生結果如下: