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

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

1)編譯的時(shí)候用:(我的文件是存在E盤了)
e:\>javac -d . Lession1.java // 可以生成對(duì)應(yīng)的文件夾結(jié)構(gòu)
2)執(zhí)行的時(shí)候,要執(zhí)行全類名
java cn.com.zhouzhou.Lession1
注意事項(xiàng)說(shuō)明:
1.同一個(gè)源文件中的類,都在同一個(gè)包中,同一個(gè)包中的內(nèi)容互相訪問(wèn),不用導(dǎo)包;
2.導(dǎo)包的時(shí)候 以下兩句;
import cn.com.zhouzhou.beans.*;
import cn.com.zhouzhou.beans.UserInfo;
這兩句,只在編譯的時(shí)候有后者稍快一點(diǎn),在運(yùn)行的時(shí)候沒(méi)有任何區(qū)別
3.如果要設(shè)置classpath ,要設(shè)置到最外層的文件夾所在的目錄上,比如:
package cn.com.zhouzhou;
set classpath=cn的所在的文件夾名稱
4.對(duì)于父包和子包,在使用上沒(méi)有任何關(guān)系,只要不在一個(gè)包中,引用的時(shí)候就必須導(dǎo)包;
5.以后在開(kāi)發(fā)中,如果出現(xiàn)一個(gè)類名找不到的情況,主要以下原因:
1)類名寫(xiě)錯(cuò)了
2)包名錯(cuò)了
3)classpath 設(shè)置錯(cuò)了
6.對(duì)于 java.lang 包下的類,使用的時(shí)候可以不導(dǎo)包。
二、jar包
java中的jar文件 ,裝的是 .class 文件。它是一種壓縮,和zip兼容,被稱為jar包。JDK提供的許多類,也是以jar包的形式提供的。
在用的時(shí)候呢,你的文件里有很多個(gè)類,把這些類和他們的目錄一起壓縮到一個(gè)文件中給別人,會(huì)顯得更專業(yè),有條理。別人拿到這個(gè)jar包之后,只要讓他的classpath 的設(shè)置中包含這個(gè)jar文件,java虛擬機(jī),在裝載類的時(shí)候,就會(huì)自動(dòng)解壓這個(gè)jar文件,并將其當(dāng)成目錄,然后在目錄中查找我們所要的類及類的包名和所對(duì)應(yīng)的目錄的結(jié)構(gòu)。
那么如何創(chuàng)建一個(gè)Jar包呢?下面我將演示一下具體步驟:
1.需要打成jar包的文件
package cn.com.zhouzhou;//包名一定要由小寫(xiě)字母組成
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í)詳解整合,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
java數(shù)據(jù)結(jié)構(gòu)ArrayList詳解
本文詳細(xì)講解了java數(shù)據(jù)結(jié)構(gòu)ArrayList的用法,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-12-12
Spring/SpringBoot?@RequestParam注解無(wú)法讀取application/json格式數(shù)據(jù)問(wèn)題
RequestParam用于將指定的請(qǐng)求參數(shù)賦值給方法中的形參,可以接受簡(jiǎn)單類型屬性,也可以接受對(duì)象類型,一般用于GET請(qǐng)求,下面這篇文章主要給大家介紹了關(guān)于Spring/SpringBoot?@RequestParam注解無(wú)法讀取application/json格式數(shù)據(jù)問(wèn)題解決的相關(guān)資料,需要的朋友可以參考下2022-10-10
SpringMVC @ResponseBody 415錯(cuò)誤處理方式
這篇文章主要介紹了SpringMVC @ResponseBody 415錯(cuò)誤處理方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-11-11
Java多線程實(shí)現(xiàn)Runnable方式
這篇文章主要為大家詳細(xì)介紹了Java多線程如何實(shí)現(xiàn)Runnable方式,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-03-03
springboot框架阿里開(kāi)源低代碼工具LowCodeEngine
這篇文章主要為大家介紹了springboot框架阿里開(kāi)源低代碼LowCodeEngine工具使用詳解有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-06-06
Java編程實(shí)現(xiàn)快速排序及優(yōu)化代碼詳解
這篇文章主要介紹了Java編程實(shí)現(xiàn)快速排序及優(yōu)化代碼詳解,具有一定借鑒價(jià)值,需要的朋友可以了解下。2017-12-12

