大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 學習攻略 Java package(包)的使用理解

Java package(包)的使用理解

更新時間:2020-08-12 16:41:06 來源:動力節點 瀏覽2041次

在學習到對象和類這一部分時,接觸了java中很重要的一個概念:package,也就是包。一開始對于package的使用我產生了許多疑惑,不僅是理論上的,在實際寫代碼的嘗試中也出現了許多意想不到的錯誤。之后自己查閱了許多博客以及stackoverflow上的一些講解,再結合編寫代碼試驗,總算是稍微弄清楚了關于package的使用,在此為自己的理解做一個筆記。

java package作用

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

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

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

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

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

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

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

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

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

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;
}
}

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

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

java package作用

以上就是動力節點java培訓機構的小編針對“Java package(包)的使用理解”的內容進行的回答,希望對大家有所幫助,如有疑問,請在線咨詢,有專業老師隨時為你服務。

提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 在线五月婷婷 | 高h粗大强行撑开紧窄的嫩缝 | 18禁片一级毛片视频播放免费看 | 九月婷婷天天澡天天添天天爽 | 精品国产日韩一区三区 | 国产久视频观看 | 成人免费视频一区 | 免费在线成人网 | 久久精品一区二区三区资源网 | 中文字幕天天躁夜夜狠狠综合 | 美女被羞羞视频网站在线 | 国产精品一区牛牛影视 | 色中色污 | 国产综合色香蕉精品五月婷 | 欧美久久超级碰碰碰二区三区 | 欧美性猛交xxxx免费看手交 | 精品久久久久久中文字幕无碍 | 久久青 | 国产成人精品一区二三区 | 99九九精品国产高清自在线 | 中文字幕天天躁夜夜狠狠综合 | 日日噜噜夜夜狠狠tv视频免费 | 一级特黄aaa大片免费看 | 久久是免费只精品热在线 | 奇米影视亚洲狠狠色 | 国产精品视频色拍拍 | 99久久精品自在自看国产 | 国产欧美一区二区三区久久 | 国产综合色在线视频区色吧图片 | 欧美在线色 | 日本高清视频一区二区 | 亚洲视频在线免费观看 | 国产成人无精品久久久 | 亚洲香蕉视频 | 国产亚洲精品一品区99热 | 爱爱视频免费网站 | 午夜视频www | 欧美久久精品 | 国产成人久视频免费 | 亚洲欧美精品一区二区 | 91精品久久国产青草 |