在程序開發(fā)過程中眠砾,需要將編寫的類分目錄存放便于管理為此引入了包(package)機(jī)制,程序可以通過聲明包的方式對java類定義目錄。
包的定義和使用
定義:通常把功能相同的類存放在相同的包中。在聲明包時(shí),使用package語句瞒御,具體示例如下:
package pkg1[.pkg2[.pkg3…]];
當(dāng)編譯一個(gè)聲明了包的java源文件父叙,需要使用命令生成與包名對應(yīng)的目錄,使用“-d”來指定生成的類文件的位置肴裙,可以用“.”來表示當(dāng)前目錄趾唱,也可寫絕對路徑,最終蜻懦。class文件將存放于改目錄下甜癞,如果該目錄不存在,java虛擬機(jī)會幫你自動(dòng)創(chuàng)建宛乃。具體示例如下:
javac -d [路徑];
注意:
- 包的聲明只能位于java源文件的第一行悠咱。
- 建立定包名不要重復(fù),可以使用url來完成定義征炼,url是唯一的析既。
- java中包的命名規(guī)范:全小寫字母拼寫。
- 包機(jī)制的引入谆奥,可以對.class文件進(jìn)行集中的管理眼坏。如果沒有顯式地聲明package語句,類則處于默認(rèn)包下酸些。
包的定義示例:
package com.sunxiaoning;
public class HelloWorld
{
? ? ? ? ?public static void main()
? ? ? ? {
? ? ? ? ? ? ? ? ?System.out.println("HelloWorld!!!");
? ? ? ? ? ?}
}
**使用:**在程序開發(fā)中宰译,位于不同包中的類會經(jīng)常需要互相調(diào)用。調(diào)用時(shí)需要使用“包名.類名”的格式來調(diào)用魄懂,同意包中的類沿侈,包名可以省略。在實(shí)際開發(fā)中市栗,定義的類都是包含包名的肋坚,而且還有可能定義很長的包名。為了簡化代碼肃廓,java中提供了import關(guān)鍵字智厌,使用import可以在程序中一次導(dǎo)入某個(gè)指定包下的類,這樣就不必在每次用到該類時(shí)都書寫完整類名了盲赊,具體格式如下:
import 包名.類名;
注意:
- import通常出現(xiàn)在package語句之后铣鹏,類定義之前。
- 如果需要用到一個(gè)包的多個(gè)類時(shí)哀蘑,則可以使用“import.包名.*”的方式導(dǎo)入該包下的所有類诚卸。建議葵第,不要寫通配符 * ,需要用到包中的哪個(gè)類合溺,就導(dǎo)入哪個(gè)類卒密。
jar包
在實(shí)際開發(fā)過程中,經(jīng)常需要開發(fā)一些類供給別人使用棠赛,為了能更好地管理這些類哮奇,在JDK中提供了一個(gè)jar命令,使用這個(gè)命令能夠?qū)⑦@些類打包成一個(gè)文件睛约,這個(gè)文件的擴(kuò)展名為.jar鼎俘。它是一種壓縮文件,獨(dú)立于任何操作系統(tǒng)平臺辩涝,習(xí)慣上也將jar文件稱為jar包贸伐。在使用jar包時(shí),只需要在classpath環(huán)境變量中包含這個(gè)這個(gè)jar文件的路徑怔揩,java虛擬機(jī)就能夠自動(dòng)在內(nèi)存中解壓這個(gè)jar文件捉邢,根據(jù)包名所對應(yīng)的目錄結(jié)構(gòu)去尋找所需要的類。
壓縮jar文件
jar -cvf [jar包的名稱].jar [需要壓縮的文件名]
參數(shù):
- -c代表創(chuàng)建歸檔的文件
- -v代表在標(biāo)準(zhǔn)輸出中生成詳細(xì)輸出
- -f代表指定歸檔文件名
解壓
jar -xvf [jar包的名稱].jar
文章來源:小寧博客