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.當使用包說明時,程序中無需再引用(import)同一個包或該包的任何元素;
8.import語句只用來將其他包中的類引入當前名字空間中。而當前包總是處于當前名字空間中。
* 示例演示:
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文件,并將其當成目錄,然后在目錄中查找我們所要的類及類的包名和所對應(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 object wait notify notifyAll代碼解析
這篇文章主要介紹了Java object wait notify notifyAll代碼解析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-11-11Java實現(xiàn)Html轉(zhuǎn)Pdf的方法
這篇文章主要介紹了Java實現(xiàn)Html轉(zhuǎn)Pdf的方法,實例分析了java基于ITextRenderer類操作頁面及系統(tǒng)自帶字體生成pdf文件的相關(guān)技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-07-07springboot 設(shè)置CorsFilter跨域不生效的解決
這篇文章主要介紹了springboot 設(shè)置CorsFilter跨域不生效的解決,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-11-11Spring編程式和聲明式事務(wù)實例講解小結(jié)
這篇文章主要介紹了Spring編程式和聲明式事務(wù)實例講解小結(jié),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07Spring Cloud Ribbon實現(xiàn)客戶端負載均衡的方法
本篇文章主要介紹了Spring Cloud Ribbon實現(xiàn)客戶端負載均衡的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-05-05Java畢業(yè)設(shè)計實戰(zhàn)之健身器材商城系統(tǒng)的實現(xiàn)
只學(xué)書上的理論是遠遠不夠的,只有在實戰(zhàn)中才能獲得能力的提升,本篇文章手把手帶你用java+Jdbc+Servlet+Ajax+Fileupload+mysql實現(xiàn)健身器材商城系統(tǒng),大家可以在過程中查缺補漏,提升水平2022-03-03