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

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

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

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

生成結(jié)果如下:

以上所述是小編給大家介紹的Java關(guān)于jar包的知識詳解整合,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時(shí)回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關(guān)文章
java數(shù)據(jù)結(jié)構(gòu)ArrayList詳解
本文詳細(xì)講解了java數(shù)據(jù)結(jié)構(gòu)ArrayList的用法,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(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錯(cuò)誤處理方式
這篇文章主要介紹了SpringMVC @ResponseBody 415錯(cuò)誤處理方式,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-11-11
Java多線程實(shí)現(xiàn)Runnable方式
這篇文章主要為大家詳細(xì)介紹了Java多線程如何實(shí)現(xiàn)Runnable方式,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-03-03
springboot框架阿里開源低代碼工具LowCodeEngine
這篇文章主要為大家介紹了springboot框架阿里開源低代碼LowCodeEngine工具使用詳解有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-06-06
Java編程實(shí)現(xiàn)快速排序及優(yōu)化代碼詳解
這篇文章主要介紹了Java編程實(shí)現(xiàn)快速排序及優(yōu)化代碼詳解,具有一定借鑒價(jià)值,需要的朋友可以了解下。2017-12-12

