包:定義包用package關(guān)鍵字。
1:對(duì)類文件進(jìn)行分類管理。
2:給類文件提供多層名稱空間。
在java培訓(xùn)實(shí)戰(zhàn)項(xiàng)目中,如果生成的包不在當(dāng)前目錄下,需要最好執(zhí)行classpath,將包所在父目錄定義到classpath變量中即可。
一般在定義包名時(shí),因?yàn)榘某霈F(xiàn)是為了區(qū)分重名的類。所以包名要盡量唯一。怎么保證唯一性呢?可以使用url域名來(lái)進(jìn)行包名稱的定義。
package pack;//定義了一個(gè)包,名稱為pack。 注意:包名的寫法規(guī)范:所有字母都小寫。
//package cn.itcast.pack.demo;
類的全名稱是 包名.類名
編譯命令:javac –d 位置(.當(dāng)前路徑) java源文件 (就可以自動(dòng)生成包)
包是一種封裝形式,用于封裝類,想要被包以外的程序訪問(wèn),該類必須public;
類中的成員,如果被包以外訪問(wèn),也必須public;
包與包之間訪問(wèn)可以使用的權(quán)限有兩種:
1:public
2:protected:只能是不同包中的子類可以使用的權(quán)限。
總結(jié)java中的四種權(quán)限:
范圍 public protected(保護(hù)) default(默認(rèn)) private
同一個(gè)類中 ok ok ok ok
同一包中 ok ok ok
子類 ok
不同包中 ok ok
-----------------------------------------------------------------------------------------------
Import - 導(dǎo)入:類名稱變長(zhǎng),寫起來(lái)很麻煩。為了簡(jiǎn)化,使用了一個(gè)關(guān)鍵字:import,可以使用這個(gè)關(guān)鍵字導(dǎo)入指定包中的類。記?。簩?shí)際開(kāi)發(fā)時(shí),到的哪個(gè)類就導(dǎo)入哪個(gè)類,不建議使用*.
import packa.*;//這個(gè)僅僅是導(dǎo)入了packa當(dāng)前目錄下的所有的類。不包含子包。
import packa.abc.*;//導(dǎo)入了packa包中的子包abc下的當(dāng)前的所有類。
在java培訓(xùn)實(shí)戰(zhàn)中,如果導(dǎo)入的兩個(gè)包中存在著相同名稱的類。這時(shí)如果用到該類,必須在代碼中指定包名。
常見(jiàn)的軟件包:
java.lang : language java的核心包,Object System String Throwable jdk1.2版本后,該包中的類自動(dòng)被導(dǎo)入。
java.awt : 定義的都是用于java圖形界面開(kāi)發(fā)的對(duì)象。
javax.swing: 提供所有的windows桌面應(yīng)用程序包括的控件,比如:Frame , Dialog, Table, List 等等,就是java的圖形界面庫(kù)。
java.net : 用于java網(wǎng)絡(luò)編程方面的對(duì)象都在該包中。
java.io : input output 用于操作設(shè)備上數(shù)據(jù)的對(duì)象都在該包中。比如:讀取硬盤數(shù)據(jù),往硬盤寫入數(shù)據(jù)。
java.util : java的工具包,時(shí)間對(duì)象,集合框架。
java.applet: application+let 客戶端java小程序。server+let --> servlet 服務(wù)端java小程序。
jar :java的壓縮包,主要用于存儲(chǔ)類文件,或者配置文件等。
命令格式:jar –cf 包名.jar 包目錄
解壓縮:jar –xvf 包名.jar
將jar包目錄列表重定向到一個(gè)文件中:jar –tf 包名.jar >c:\1.txt