您好,歡迎來到賦能網(wǎng)!

Java的package一定要寫嗎?Java的package有什么用?

賦能網(wǎng) 2023-05-09 58

編寫java的時(shí)候,我們需要遵守java編程代碼規(guī)范,不然就會(huì)出現(xiàn)java運(yùn)行錯(cuò)誤的情況,導(dǎo)致java無法正常運(yùn)行,那Java的package一定要寫嗎?接下來我們就來給大家講解一下這方面的內(nèi)容。

Java的package一定要寫,盡管放到正確的包路徑中,沒有pakage聲明的文件中的類在編譯過程中會(huì)被放到默認(rèn)包(未命名)中,無法被引用。

Java的package有什么用?

包的 3 個(gè)作用如下:

1. 區(qū)分相同名稱的類。

2. 能夠較好地管理大量的類。

3. 控制訪問范圍。

包定義

Java 中使用 package 語句定義包,package 語句應(yīng)該放在源文件的第一行,在每個(gè)源文件中只能有一個(gè)包定義語句,并且 package 語句適用于所有類型(類、接口、枚舉和注釋)的文件。定義包語法格式如下:

package 包名;

Java 包的命名規(guī)則如下:

包名全部由小寫字母(多個(gè)單詞也全部小寫)。

如果包名包含多個(gè)層次,每個(gè)層次用“.”分割。

包名一般由倒置的域名開頭,比如 com.baidu,不要有 www。

自定義包不能 java 開頭。

注意:如果在源文件中沒有定義包,那么類、接口、枚舉和注釋類型文件將會(huì)被放進(jìn)一個(gè)無名的包中,也稱為默認(rèn)包。在實(shí)際企業(yè)開發(fā)中,通常不會(huì)把類定義在默認(rèn)包下。

包導(dǎo)入

如果使用不同包中的其它類,需要使用該類的全名(包名+類名)。代碼如下:

example.Test test = new example.Test();

其中,example 是包名,Test 是包中的類名,test 是類的對象。

為了簡化編程,Java 引入了 import 關(guān)鍵字,import 可以向某個(gè) Java 文件中導(dǎo)入指定包層次下的某個(gè)類或全部類。import 語句位于 package 語句之后,類定義之前。一個(gè) Java 源文件只能包含一個(gè) package 語句,但可以包含多個(gè) import 語句。

使用 import 導(dǎo)入單個(gè)類的語法格式如下:

import 包名+類名;

上面語句用于直接導(dǎo)入指定類,例如導(dǎo)入前面的 example.Test 類,代碼如下:

import example.Test;

使用 import 語句導(dǎo)入指定包下全部類的用法按如下:

import example.*;

上面 import 語句中的星號(*)只能代表類,不能代表包,表明導(dǎo)入 example 包下的所有類。

提示:使用星號(*)可能會(huì)增加編譯時(shí)間,特別是引入多個(gè)大包時(shí),所以明確的導(dǎo)入你想要用到的類是一個(gè)好方法,需要注意的是使用星號對運(yùn)行時(shí)間和類的大小沒有影響。

通過使用 import 語句可以簡化編程,但 import 語句并不是必需的,如果在類里使用其它類的全名,可以不使用 import 語句。

Java 默認(rèn)為所有源文件導(dǎo)入 java.lang 包下的所有類,因此前面在 Java 程序中使用 String、System 類時(shí)都無須使用 import 語句來導(dǎo)入這些類。但對于前面介紹數(shù)組時(shí)提到的 Arrays 類,其位于 java.util 包下,則必須使用 import 語句來導(dǎo)入該類。

在一些極端的情況下,import 語句也幫不了我們,此時(shí)只能在源文件中使用類全名。例如,需要在程序中使用 java.sql 包下的類,也需要使用 java.util 包下的類,則可以使用如下兩行 import 語句:

import java.util.*;
import java.sql.*;

如果接下來在程序中需要使用 Date 類,則會(huì)引起如下編譯錯(cuò)誤:

Test.java:25:對Date的引用不明確,
java.sql中的類java.sql.Date和java.util中的類java.util.Date都匹配

上面錯(cuò)誤提示:在 Test.java 文件的第 25 行使用了 Date 類,而 import 語句導(dǎo)入的 java.sql 和 java.util 包下都包含了 Date 類,系統(tǒng)不知道使用哪個(gè)包下的 Date 類。在這種情況下,如果需要指定包下的 Date 類,則只能使用該類的全名,代碼如下:

// 為了讓引用更加明確,即使使用了 import 語句,也還是需要使用類的全名

java.sql.Date d = new java.sql.Date();

系統(tǒng)包

Java SE 提供了一些系統(tǒng)包,其中包含了 Java 開發(fā)中常用的基礎(chǔ)類。在 Java 語言中,開發(fā)人員可以自定義包,也可以使用系統(tǒng)包,常用的系統(tǒng)包如表所示。

Java的package還是很重要的,有了它能夠解決類的命名沖突、類文件管理等問題。并且還可以在包內(nèi)定義類,而在包外的代碼不能訪問該類。最后大家如果想要了解更多初識(shí)java知識(shí),敬請關(guān)注賦能網(wǎng)。


本文鏈接:

本文章“Java的package一定要寫嗎?Java的package有什么用?”已幫助 58 人

免責(zé)聲明:本信息由用戶發(fā)布,本站不承擔(dān)本信息引起的任何交易及知識(shí)產(chǎn)權(quán)侵權(quán)的法律責(zé)任!

本文由賦能網(wǎng) 整理發(fā)布。了解更多培訓(xùn)機(jī)構(gòu)》培訓(xùn)課程》學(xué)習(xí)資訊》課程優(yōu)惠》課程開班》學(xué)校地址等機(jī)構(gòu)信息,可以留下您的聯(lián)系方式,讓課程老師跟你詳細(xì)解答:
咨詢熱線:4008-569-579

如果本頁不是您要找的課程,您也可以百度查找一下: