Java基礎——關於jar包的知識


 

 

在學習jar包之前,要先弄懂Java包,以及關於Java包的相關概念。

一、包

為了更好地組織類,Java提供了包機制。包是類的容器,用於分隔類名空間。如果沒有指定包名,所有的示例都屬於一個默認的無名包。

格式為:

package pkg1[.pkg2[.pkg3…]];

代碼實例:

復制代碼
 1 /**
 2 *@version 2017-06-17
 3 *@author zhou
 4 */
 5 
 6 
 7 package cn.com.zhouzhou;//包名一定要由小寫字母組成
 8 public class Lession1 {
 9     public static void main(String[] args) {
10         System.out.println("這是我創建的第一個在包下的文件");
11         }
12         }
復制代碼

注意事項:

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 package cn.com.zhouzhou;//包名一定要由小寫字母組成
2 public class Lession2{
3     public static void main(String[] args) {
4         System.out.println("這是我要打jar包的文件");
5         }
6         }
復制代碼

2.編譯

e:\>javac -d . Lession2.java

(d后面的點,點的兩側都要有空格)

3.打Jar包

jar -cvf myjarbao.jar cn

(生成名叫myjarbao.jar的文件;后面的cn不要忘記)

生成結果如下:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM