在學習jar包之前,要先弄懂java包,以及關于java包的相關概念。
一、包
為了更好地組織類,java提供了包機制。包是類的容器,用于分隔類名空間。如果沒有指定包名,所有的示例都屬于一個默認的無名包。
格式為:
package pkg1[.pkg2[.pkg3…]];
代碼實例:
1
2
3
4
5
6
|
package cn.com.zhouzhou; //包名一定要由小寫字母組成 public class lession1 { public static void main(string[] args) { system.out.println( "這是我創建的第一個在包下的文件" ); } } |
注意事項:
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
2
3
4
5
6
|
package cn.com.zhouzhou; //包名一定要由小寫字母組成 public class lession2 { public static void main(string[] args) { system.out.println( "這是我要打jar包的文件" ); } } |
2.編譯
e:\>javac -d . lession2.java
(d后面的點,點的兩側都要有空格)
3.打jar包
jar -cvf myjarbao.jar cn
(生成名叫myjarbao.jar的文件;后面的cn不要忘記)
生成結果如下:
以上所述是小編給大家介紹的java關于jar包的知識詳解整合,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對服務器之家網站的支持!
原文鏈接:https://www.cnblogs.com/gaoht/p/10564723.html