Java關(guān)于jar包的知識詳解
在學(xué)習(xí)jar包之前,要先弄懂Java包,以及關(guān)于Java包的相關(guān)概念。
一、包
為了更好地組織類,Java提供了包機制。包是類的容器,用于分隔類名空間。如果沒有指定包名,所有的示例都屬于一個默認的無名包。
格式為:
package pkg1[.pkg2[.pkg3…]];
代碼實例:
package cn.com.zhouzhou;//包名一定要由小寫字母組成
public class Lession1 {
public static void main(String[] args) {
System.out.println("這是我創(chuàng)建的第一個在包下的文件");
}
}
注意事項:
1.程序中如果有package語句,該語句一定是源文件中的第一條可執(zhí)行語句;
2.package語句的前面只能有注釋或空行;
3.一個文件中最多只能有一條package語句;
4.包的名字有層次關(guān)系,各層之間以點分隔(上例中的“cn.com.zhouzhou”);
(圖:演示)

5.包層次必須與Java開發(fā)系統(tǒng)的文件系統(tǒng)結(jié)構(gòu)相同;
6.通常包名中全部用小寫字母;
7.當(dāng)使用包說明時,程序中無需再引用(import)同一個包或該包的任何元素;
8.import語句只用來將其他包中的類引入當(dāng)前名字空間中。而當(dāng)前包總是處于當(dāng)前名字空間中。
* 示例演示:

1)編譯的時候用:(我的文件是存在E盤了)
e:\>javac -d . Lession1.java // 可以生成對應(yīng)的文件夾結(jié)構(gòu)
2)執(zhí)行的時候,要執(zhí)行全類名
java cn.com.zhouzhou.Lession1
注意事項說明:
1.同一個源文件中的類,都在同一個包中,同一個包中的內(nèi)容互相訪問,不用導(dǎo)包;
2.導(dǎo)包的時候 以下兩句;
import cn.com.zhouzhou.beans.*;
import cn.com.zhouzhou.beans.UserInfo;
這兩句,只在編譯的時候有后者稍快一點,在運行的時候沒有任何區(qū)別
3.如果要設(shè)置classpath ,要設(shè)置到最外層的文件夾所在的目錄上,比如:
package cn.com.zhouzhou;
set classpath=cn的所在的文件夾名稱
4.對于父包和子包,在使用上沒有任何關(guān)系,只要不在一個包中,引用的時候就必須導(dǎo)包;
5.以后在開發(fā)中,如果出現(xiàn)一個類名找不到的情況,主要以下原因:
1)類名寫錯了
2)包名錯了
3)classpath 設(shè)置錯了
6.對于 java.lang 包下的類,使用的時候可以不導(dǎo)包。
二、jar包
java中的jar文件 ,裝的是 .class 文件。它是一種壓縮,和zip兼容,被稱為jar包。JDK提供的許多類,也是以jar包的形式提供的。
在用的時候呢,你的文件里有很多個類,把這些類和他們的目錄一起壓縮到一個文件中給別人,會顯得更專業(yè),有條理。別人拿到這個jar包之后,只要讓他的classpath 的設(shè)置中包含這個jar文件,java虛擬機,在裝載類的時候,就會自動解壓這個jar文件,并將其當(dāng)成目錄,然后在目錄中查找我們所要的類及類的包名和所對應(yīng)的目錄的結(jié)構(gòu)。
那么如何創(chuàng)建一個Jar包呢?下面我將演示一下具體步驟:
1.需要打成jar包的文件
package cn.com.zhouzhou;//包名一定要由小寫字母組成
public class Lession2 {
public static void main(String[] args) {
System.out.println("這是我要打jar包的文件");
}
}
2.編譯
e:\>javac -d . Lession2.java
(d后面的點,點的兩側(cè)都要有空格)

3.打Jar包
jar -cvf myjarbao.jar cn
(生成名叫myjarbao.jar的文件;后面的cn不要忘記)

生成結(jié)果如下:

以上所述是小編給大家介紹的Java關(guān)于jar包的知識詳解整合,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關(guān)文章
java數(shù)據(jù)結(jié)構(gòu)ArrayList詳解
本文詳細講解了java數(shù)據(jù)結(jié)構(gòu)ArrayList的用法,文中通過示例代碼介紹的非常詳細。對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-12-12
Spring/SpringBoot?@RequestParam注解無法讀取application/json格式數(shù)據(jù)問題
RequestParam用于將指定的請求參數(shù)賦值給方法中的形參,可以接受簡單類型屬性,也可以接受對象類型,一般用于GET請求,下面這篇文章主要給大家介紹了關(guān)于Spring/SpringBoot?@RequestParam注解無法讀取application/json格式數(shù)據(jù)問題解決的相關(guān)資料,需要的朋友可以參考下2022-10-10
SpringMVC @ResponseBody 415錯誤處理方式
這篇文章主要介紹了SpringMVC @ResponseBody 415錯誤處理方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-11-11
springboot框架阿里開源低代碼工具LowCodeEngine
這篇文章主要為大家介紹了springboot框架阿里開源低代碼LowCodeEngine工具使用詳解有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-06-06
Java編程實現(xiàn)快速排序及優(yōu)化代碼詳解
這篇文章主要介紹了Java編程實現(xiàn)快速排序及優(yōu)化代碼詳解,具有一定借鑒價值,需要的朋友可以了解下。2017-12-12

