一.包的概念:
包是Java語(yǔ)言提供的一種區(qū)別類名字命名空間的機(jī)制枢纠,它是類的一種文件組織和管理方式肤寝、是一組功能相似或相關(guān)的類或接口的集合牧挣。Java package提供了訪問(wèn)權(quán)限和命名的管理機(jī)制,它是Java中很基礎(chǔ)卻又非常重要的一個(gè)概念醒陆。
二.包的作用:
1 把功能相似或相關(guān)的類或接口組織在同一個(gè)包中瀑构,方便類的查找和使用。
2 如同文件夾一樣刨摩,包也采用了樹(shù)形目錄的存儲(chǔ)方式寺晌。同一個(gè)包中的類名字是不同的,不同的包中的類的名字是可以相同的澡刹,
當(dāng)同時(shí)調(diào)用兩個(gè)不同包中相同類名的類時(shí)呻征,應(yīng)該加上包名加以區(qū)別。因此罢浇,包可以避免名字沖突陆赋。
3 包也限定了訪問(wèn)權(quán)限,擁有包訪問(wèn)權(quán)限的類才能訪問(wèn)某個(gè)包中的類嚷闭。
三.包的定義:
在一個(gè).java文件中可以一個(gè)public類和多個(gè)非public類攒岛,如果要將這些類組織在一個(gè)包當(dāng)中,則在.java文件中除注釋以外的第一行使用關(guān)鍵字package即可實(shí)現(xiàn)胞锰。當(dāng)需要調(diào)用此包中的類時(shí)灾锯,就可以使用關(guān)鍵字import進(jìn)行導(dǎo)入。
在定義包的時(shí)候嗅榕,應(yīng)該注意幾點(diǎn):
1.為了盡量使包名保持唯一性顺饮,包名通常采用小寫(xiě)、按倒寫(xiě)互聯(lián)網(wǎng)址的形式進(jìn)行定義凌那。如:com.hank.www表示包文件放置的文件路徑為com/hank/www兼雄。
2.在進(jìn)行命名包時(shí),應(yīng)該避免使用與系統(tǒng)發(fā)生沖突的名字帽蝶,如java.lang赦肋、java.swing等。
四.系統(tǒng)常用包
1嘲碱、Java.lang包:java的核心類庫(kù)金砍,包含了運(yùn)行java程序必不可少的系統(tǒng)類,如基本數(shù)據(jù)類型麦锯、基本數(shù)學(xué)函數(shù)、字符串處理琅绅、線程扶欣、異常處理類等,系統(tǒng)缺省加載這個(gè)包。
2料祠、java.io包:java語(yǔ)言的標(biāo)準(zhǔn)輸入/輸出類庫(kù)骆捧,如基本輸入/輸出流、文件輸入/輸出髓绽、過(guò)濾輸入/輸出流等等敛苇。
3、java.util包:Java的實(shí)用工具類庫(kù)Java.util包顺呕。在這個(gè)包中枫攀,Java提供了一些實(shí)用的方法和數(shù)據(jù)結(jié)構(gòu)。例如株茶,Java提供日期(Data)類来涨、日歷(Calendar)類來(lái)產(chǎn)生和獲取日期及時(shí)間,提供隨機(jī)數(shù)(Random)類產(chǎn)生各種類型的隨機(jī)數(shù)启盛,還提供了堆棧(Stack)蹦掐、向量(Vector) 、位集合(Bitset)以及哈希表(Hashtable)等類來(lái)表示相應(yīng)的數(shù)據(jù)結(jié)構(gòu)僵闯。包含如處理時(shí)間的date類卧抗,處理變成數(shù)組的Vector類,以及stack和HashTable類鳖粟。
4颗味、java.util.zip包:實(shí)現(xiàn)文件壓縮功能
5、java.lang.reflect包:提供用于反射對(duì)象的工具
6牺弹、java.awt.image包:處理和操縱來(lái)自于網(wǎng)上的圖片的java工具類庫(kù)
7浦马、java.wat.peer包:很少在程序中直接用到,使得同一個(gè)java程序在不同的軟硬件平臺(tái)上運(yùn)行
8张漂、java.applet包
9晶默、java.NET包:實(shí)現(xiàn)網(wǎng)絡(luò)功能的類庫(kù)有Socket類、ServerSocket類
10航攒、java.corba包和java.corba.orb包
11磺陡、java.awt.datatransfer包:處理數(shù)據(jù)傳輸?shù)墓ぞ哳悾糍N板漠畜,字符串發(fā)送器等
12币他、java.awt包:構(gòu)建圖形用戶界面(GUI)的類庫(kù),低級(jí)繪圖操作Graphics類憔狞,圖形界面組件和布局管理如 Checkbox類蝴悉、Container類、LayoutManger接口等瘾敢,以及界面用戶交互控制和事件響應(yīng)拍冠,如Event類
13尿这、java.awt.event包:GUI事件處理包。
14庆杜、java.sql包:實(shí)現(xiàn)JDBC的類庫(kù)射众。
五.java包創(chuàng)建和使用步驟
第一步:在F:\javaStudy\j2se\14中創(chuàng)建Tools.java和TestTools.java,編寫(xiě)包源文件代碼Tools.java和測(cè)試源文件代碼TestTools.java晃财。如下
第二步:在F:\javaStudy\j2se\14中創(chuàng)建路徑文件org/yangjie/test叨橱。
第三步:編譯包源文件代碼Tools.java,將編譯后的Tools.java和Tools.class移入路徑文件org/yangjie/test中断盛。
第四步:編譯測(cè)試文件TestTools.java罗洗,即javac TestTools.java,運(yùn)行java TestTools就可以實(shí)現(xiàn)包的創(chuàng)建和導(dǎo)入郑临。
特別注意點(diǎn):當(dāng)org/yangjie/test文件移動(dòng)到F:\javaStudy后栖博,編譯TestTools.java,會(huì)找不到路徑包,報(bào)錯(cuò)厢洞。
解決辦法:設(shè)置環(huán)境變量classpath,路徑為F:\javaStudy;仇让,就能編譯運(yùn)行成功。
六.jar的命令