溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

java package是什么?怎么用?

發(fā)布時間:2020-05-18 11:11:47 來源:億速云 閱讀:547 作者:小新 欄目:編程語言

java package是什么?怎么用?相信有很多人都不太了解,今天小編為了讓大家更加了解package,所以給大家總結(jié)了以下內(nèi)容,一起往下看吧。

Java中的一個包(package)就是一個類庫單元,包內(nèi)包含有一組類,它們在單一的名稱空間之下被組織在了一起。這個名稱空間就是包名。

java package是什么?怎么用?

那么Java包(package)怎么用呢?

可以使用import關(guān)鍵字來導(dǎo)入一個包。例如使用import java.util.*就可以導(dǎo)入名稱空間java.util包里面的所有類。所謂導(dǎo)入這個包里面的所有類,就是在import聲明這個包名以后,在接下來的程序中可以直接使用該包中的類。

例如:

import java.util.*  
  
public class SingleImport  
{  
    public static void main(Strin[] args)  
    {  
        ArrayList list=nwe ArrayList();  
    }  
}

這里ArrayList就是java.util包中的一個類,但是由于對程序使用了import關(guān)鍵字加載了java.util包,所以這里并沒有見到對ArrayList類的定義和聲明,也沒有見到該類前面有什么限定名,就可以直接使用這個類。

我們之所以要導(dǎo)入包名,就是要提供一個管理名稱空間的機(jī)制。

我們知道,如果有兩個類A類和B類都含有一個具有相同特征標(biāo)記(參數(shù)列表)的方法f(),即便在同一段代碼中同時使用這兩個方法f(),也不會發(fā)生沖突,原因就在于有兩個不同的類名罩在前面作為限定名,所以兩個方法即便同名也不回發(fā)生沖突。但是如果類名稱相互沖突又該怎么辦呢?假設(shè)你編寫了一個Apple類并安裝到了一臺機(jī)器上,而該機(jī)器上已經(jīng)有一個其他人編寫的Apple類,我們該如何解決呢?

因為你如果想弄清楚一臺機(jī)器上到底已經(jīng)安裝了那些類,并不是一件很容易的事情,所以名字之間總是有存在潛在的沖突的可能。在Java中對名稱空間進(jìn)行完全控制并為每個類創(chuàng)建唯一的標(biāo)識符組合就成為了非常重要的事情。如果你要編寫對于同一臺機(jī)器上共存的其他Java程序友好的類庫或程序的話,就需要考慮如何防止類名稱之間的沖突問題。

當(dāng)編寫一個Java源代碼文件時,此文件通常被稱為編譯單元。

每個編譯單元都必須有一個后綴名.java,而在編譯單元內(nèi)有且僅有一個public類,否則編譯器就不會接受。

該public類的名稱必須與文件的名稱相同(包括大小寫,但不包括后綴名.java)。如果在該編譯單元之中還有額外的類的話,那么在包之外的世界是無法看見這些類的,因為它們不是public類,而且它們主要用來為主public類提供支持。

當(dāng)編譯一個.java文件(即一個編譯單元)時,在.java文件中的每個類都會有一個輸出文件,而該輸出文件的名稱與.java文件中每個類的名稱相同,只是多了一個后綴名.class。因此在編譯少量.java文件之后,會得到大量的.class文件。

每一個.java文件編譯以后都會有一個public類,以及任意數(shù)量的非public類。因此每個.java文件都是一個構(gòu)件,如果希望許許多多的這樣的構(gòu)件從屬于同一個群組,就可以在每一個.java文件中使用關(guān)鍵字package。而這個群組就是一個類庫。

以上就是java package是什么?怎么用的詳細(xì)內(nèi)容了,看完之后是否有所收獲呢?如果想了解更多相關(guān)內(nèi)容,歡迎來億速云行業(yè)資訊!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI