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

專(zhuān)注Java教育14年 全國(guó)咨詢(xún)/投訴熱線:400-8080-105
動(dòng)力節(jié)點(diǎn)LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁(yè) 學(xué)習(xí)攻略 Java package(包)的使用理解

Java package(包)的使用理解

更新時(shí)間:2020-08-12 16:41:06 來(lái)源:動(dòng)力節(jié)點(diǎn) 瀏覽2115次

在學(xué)習(xí)到對(duì)象和類(lèi)這一部分時(shí),接觸了java中很重要的一個(gè)概念:package,也就是包。一開(kāi)始對(duì)于package的使用我產(chǎn)生了許多疑惑,不僅是理論上的,在實(shí)際寫(xiě)代碼的嘗試中也出現(xiàn)了許多意想不到的錯(cuò)誤。之后自己查閱了許多博客以及stackoverflow上的一些講解,再結(jié)合編寫(xiě)代碼試驗(yàn),總算是稍微弄清楚了關(guān)于package的使用,在此為自己的理解做一個(gè)筆記。

java package作用

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

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

package?test;
public?class?Test?{}

又如:
package?com.micheal.test
public?class?Test?{}

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

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

//Test1.java
package?test;
class?Test1?{}
//Test2.java
package?test;
public?class?Test2?{
public?static?void?main(String[]?args)?{
Test1?t;
}
}

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

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

package?p1;
//import?p2.Test2
public?class?Test1?{
public?static?void?main(String[]?args)?{
p2.Test2?t;//Test2?t?if?we?import?p2.Test2?before;
}
}

那么問(wèn)題來(lái)了,java文件在編譯時(shí)如何知道p2這個(gè)package在哪?這里要提到一個(gè)重要的變量:classpath。classpath是java在編譯程序時(shí)查找類(lèi)文件的路徑,java編譯器會(huì)在classpath中包含有的路徑中查找java的類(lèi)文件。

舉個(gè)例子,比如說(shuō)classpath的值(Windows下)是.(當(dāng)前目錄);C:/,那么編譯器在查找類(lèi)的時(shí)候,就只會(huì)在當(dāng)前目錄和C:/中查找。所以如果p2這個(gè)目錄與p1在同一目錄層次下,那么p2就能直接被查找到了,查找也就結(jié)束了;如果不在的話,比如說(shuō)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這個(gè)package的位置的,那么就會(huì)提示錯(cuò)誤,因此需要將C:/document/java/test加入到classpath中。

java package作用

以上就是動(dòng)力節(jié)點(diǎn)java培訓(xùn)機(jī)構(gòu)的小編針對(duì)“Java package(包)的使用理解”的內(nèi)容進(jìn)行的回答,希望對(duì)大家有所幫助,如有疑問(wèn),請(qǐng)?jiān)诰€咨詢(xún),有專(zhuān)業(yè)老師隨時(shí)為你服務(wù)。

提交申請(qǐng)后,顧問(wèn)老師會(huì)電話與您溝通安排學(xué)習(xí)

免費(fèi)課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 亚洲国产天堂久久综合9999 | 日本三级一区二区三区 | 亚洲精品午夜级久久久久 | 一道本不卡免费视频 | 国产大学生一级毛片绿象 | 在线观看国产wwwa级羞羞视频 | 久久国产精品伦理 | 影视先锋av资源噜噜 | 黄色一级片观看 | 国产精品久久久久久搜索 | 日本国产在线观看 | 国产专区精品 | 99r在线视频 | 免费动漫无遮挡曰批视频软件 | 欧美在线视频播放 | 久久精品最新免费国产成人 | 天堂资源中文在线 | 国产精品麻豆综合在线 | 日产精品一二三四区国产 | 人人干天天干 | 性大片免费视频观看 | 黄色天堂在线 | 日韩三级免费 | 亚洲欧洲国产视频 | 欧美性受xxxx视频 | 黄色毛片网站 | 欧美性极品xxxxx| 一级毛片a | 五月天在线婷婷 | 国产视频福利一区 | 免费的a级毛片 | 免费国产不卡午夜福在线 | 久草8| 免费特黄级夫费生活片 | 99久在线| 日韩精品一区二区三区中文字幕 | 中文字幕一区二区三区视频在线 | 亚洲欧美精品综合中文字幕 | 色午夜视频 | 看的免费污污网站 | 国产精品一区二区手机看片 |