黄色网址大全免费-黄色网址你懂得-黄色网址你懂的-黄色网址有那些-免费超爽视频-免费大片黄国产在线观看

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節(jié)點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 學(xué)習(xí)攻略 Java學(xué)習(xí) 快來了解java package的作用及使用吧

快來了解java package的作用及使用吧

更新時間:2020-05-14 15:39:15 來源:動力節(jié)點 瀏覽3549次

package的簡單定義如下:package是一個為了方便管理組織java文件的目錄結(jié)構(gòu),并防止不同java文件之間發(fā)生命名沖突而存在的一個java特性。不同package中的類的名字可以相同,只是在使用時要帶上package的名稱加以區(qū)分。

快來了解java package的作用及使用吧

在使用package的時候,如果java文件中使用了package,那么該java文件必須放在命名與package名稱相同的目錄下,比如:

packagetest;
publicclassTest{}

該文件的目錄結(jié)構(gòu)則為:...test/Test.java

又如:

packagecom.micheal.test
publicclassTest{}

java解釋器會將package中的.解釋為目錄分隔符/,也就是說該文件的目錄結(jié)構(gòu)為:...com/micheal/test/Test.java

那么package中的類的訪問權(quán)限是怎么樣的呢?在同一package中的類是可以互相訪問的,比如:

//Test1.java
packagetest;
classTest1{}
//Test2.java
packagetest;
publicclassTest2{
publicstaticvoidmain(String[]args){
Test1t;
}
}

由于Test2與Test1在同一個package——test中,所以Test2能夠直接調(diào)用Test1生成Test1的引用變量t;在命令行進(jìn)行編譯時,直接編譯Test2.java即可:javacTest2.java(若沒有進(jìn)入Test1和Test2的目錄,需在Test2前加上絕對路徑)

若類在不同的package中,那么在一個類中要調(diào)用另一個package中的類(必須是public類,非public類不支持不同包間訪問),需要在類名前明確加上package名稱;不過,java中存在一個讓java程序員偷懶的特性,叫做import關(guān)鍵字。使用import就可以在一個package中導(dǎo)入另一個package中的類,不過import和C語言和C++中的#include是不同的,import并不會在當(dāng)前java文件中嵌入另一個package中的類的代碼,只是告訴java文件,不屬于該包的類能夠到哪里去尋找而已:

packagep1;
//importp2.Test2
publicclassTest1{
publicstaticvoidmain(String[]args){
p2.Test2t;//Test2tifweimportp2.Test2before;
}
}

那么問題來了,java文件在編譯時如何知道p2這個package在哪?這里要提到一個重要的變量:classpath。classpath是java在編譯程序時查找類文件的路徑,java編譯器會在classpath中包含有的路徑中查找java的類文件。

舉個例子,比如說classpath的值(Windows下)是.(當(dāng)前目錄);C:/,那么編譯器在查找類的時候,就只會在當(dāng)前目錄和C:/中查找。所以如果p2這個目錄與p1在同一目錄層次下,那么p2就能直接被查找到了,查找也就結(jié)束了;如果不在的話,比如說p1的目錄結(jié)構(gòu)是C:/document/java/project/p1,p2的目錄結(jié)構(gòu)是C:/document/java/test/p2,那么如果C:/document/java/test不在classpath中,java解釋器是找不到p2這個package的位置的,那么就會提示錯誤,因此需要將C:/document/java/test加入到classpath中。

java中的Package語句和import語句

在實際項目中會有成百上千個類,我們把近似的類放在同一個包里面,比如把實體類放在實體類包里面

package為解決類的命名沖突問題而引入的機制。

package語句作為Java源文件的第一條語句。(若缺省該語句,則指定為無名包。)約定俗成的給包起名為把公司域名倒過來寫,如com.sunJava編譯器把包對應(yīng)于文件系統(tǒng)的目錄管理,package語句中,用‘.’來指明包(目錄)的層次,例如packagecom.sun;則該文件中所有的類位于.\com\sun目錄下。

總結(jié):

1.如果你要把一個類放在包下面,第一句寫package,你編譯出來的類必須位于正確的目錄下面。

該類的源碼可能會產(chǎn)生影響(解決辦法:刪除或轉(zhuǎn)移到別的目錄)

2.如果想在另一個類里面引用包里面的類,要把名字寫全。(相當(dāng)用文件的絕對路徑訪問)或者用import導(dǎo)入,但位于同一個包中的類不需要引入

3.必須class文件的最上層包中的父目錄位于classpath下面。

4.編譯后,執(zhí)行一個類的時候也需要把包名寫全,不然無法執(zhí)行。

J2SDK中主要的包介紹(在jdk5.0/jre/lib/rt.jar里面,可用解壓軟件解開查看)

Java.lang-包含一些Java語言的核心類,如String、Math、Integer、System和Thread,提供常用功能

Java.awt-包含了構(gòu)成抽象窗口工具集(abstractwindowtoolkits)的多個類,這些類被用來構(gòu)建和管理應(yīng)用程序的圖形用戶界面(GUI)。

Java.applet-包含applet運行所需的一些類

Java.net-包含執(zhí)行與網(wǎng)絡(luò)相關(guān)的操作的類

Java.io-包含能提供多種輸入/輸出功能的類

Java.util-包含一些實用工具類,如定義系統(tǒng)特性、使用與日期日歷相關(guān)的函數(shù)

其中就Java.lang包不用引入就能直接使用,其他包里面的類都要用import引入才能使用。

如何打包?

先定位到classpath設(shè)置的目錄下jar-cvfxx.jar*.*-c創(chuàng)建新的文檔-v生成詳細(xì)輸出到詳細(xì)輸出上-f指定存檔文件名即把classpath下的所有文件打包成xx.jar文件如何使用呢?把xx.jar的絕對路徑放到classpath下面,這樣就可能正常訪問了

eg.

在一個文件中

packagecom.sun;
publicclassCat{
}

在另一個文件中

//importcom.sun.*;
publicclassT{
publicstaticvoidmain(String[]args){
com.sun.Catc=newcom.sun.Cat();
}
}

1.把第一個文件編譯生成的.class文件放到com.sun目錄下,然后就可編譯執(zhí)行T.java了,其中Cat類必須為public

2.第一個文件不變,修改二個文件成如下:

importcom.sun.Cat;
publicclassT{
publicstaticvoidmain(String[]args){
//com.sun.Catc=newcom.sun.Cat();
Catc=newCat();
}
}

同樣可以達(dá)到目的。但是有點小問題,就是importcom.sun.*;應(yīng)該可以代替importcom.sun.Cat;但在調(diào)試過程中卻會報錯。

但是如果兩上文件不在同一文件目錄下,這時上面的程序就會報錯。為此我們需要為此設(shè)置環(huán)境變量“classpath”,在里面添加路徑,即com.sun的最上層目錄的上一級目錄,即存放com文件夾的目錄名。這樣程序就會從這里開始尋找需要的類。

一個文件中可以同時有package和import存在,但在執(zhí)行時要注意java后面跟的文件名要寫全。

快來了解java package的作用及使用吧

以上就是動力節(jié)點java培訓(xùn)機構(gòu)的小編針對“快來了解java package的作用及使用吧”的內(nèi)容進(jìn)行的回答,希望對大家有所幫助,如有疑問,請在線咨詢,有專業(yè)老師隨時為你服務(wù)。

提交申請后,顧問老師會電話與您溝通安排學(xué)習(xí)

免費課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 免播放器在线视频 | 经典三级四虎在线观看 | 欧美视频一区二区三区精品 | 男女在线无遮挡毛片免费 | 一级毛片特级毛片免费的 | 成人激情在线视频 | 国产精品天天在线 | 久久一区二区精品 | 日韩成人片 | 日韩高清影视 | 在线观看亚洲免费视频 | 亚洲成人第一 | 午夜国产| 欧美色欧美亚洲高清在线视频 | 一级毛片高清大全免费观看 | 亚洲视频免费播放 | 国产亚洲人成网站天堂岛 | 亚洲第一成年网站大全亚洲 | 亚洲一区二区中文 | h片在线播放 | 小明tv| 久久精品国产亚洲麻豆 | 能直接看黄的网站 | 一个人免费观看的www视频 | 午夜网站在线观看免费网址免费 | 久久久国产精品va麻豆 | 狠狠操天天操夜夜操 | 一区二区三区国产 | 国产高清天干天天视频 | 特黄一级视频 | 久久综合免费 | 久久精品蜜芽亚洲国产a | 寡妇一级a毛片免费播放 | 国产欧美日韩不卡 | 欧美在线不卡 | 日韩免费视频在线观看 | 免费理伦| 欧美成人全部视频 | freexxx性欧美hd| 日韩中文字幕一在线 | 五月六月丁香 |