全國(guó)咨詢(xún)/投訴熱線(xiàn):400-618-4000

首頁(yè)技術(shù)文章正文

Java中4種不同級(jí)別的訪(fǎng)問(wèn)控制符

更新時(shí)間:2022-07-28 來(lái)源:黑馬程序員 瀏覽量:

IT培訓(xùn)班

在Java中,針對(duì)類(lèi)、成員方法和屬性提供了4種訪(fǎng)問(wèn)級(jí)別,分別是private、default、protected和public。接下來(lái)通過(guò)一個(gè)圖將這4種控制級(jí)別由小到大依次列出,如下圖所示。

1658990886094_4.png

訪(fǎng)問(wèn)控制級(jí)別由小到大

上圖中展示了Java中的4種訪(fǎng)問(wèn)控制級(jí)別,具體介紹如下。

①private(當(dāng)前類(lèi)訪(fǎng)問(wèn)級(jí)別):如果類(lèi)的成員被private訪(fǎng)問(wèn)控制符來(lái)修飾,則這個(gè)成員只能被該類(lèi)的其他成員訪(fǎng)問(wèn),其他類(lèi)無(wú)法直接訪(fǎng)問(wèn)。類(lèi)的良好封裝就是通過(guò)private關(guān)鍵字來(lái)實(shí)現(xiàn)的。

②default(包訪(fǎng)問(wèn)級(jí)別):如果一個(gè)類(lèi)或者類(lèi)的成員不使用任何訪(fǎng)問(wèn)控制符修飾,則稱(chēng)它為默認(rèn)訪(fǎng)問(wèn)控制級(jí)別,這個(gè)類(lèi)或者類(lèi)的成員只能被本包中的其他類(lèi)訪(fǎng)問(wèn)。

③protected(子類(lèi)訪(fǎng)問(wèn)級(jí)別):如果一個(gè)類(lèi)的成員被protected訪(fǎng)問(wèn)控制符修飾,那么這個(gè)成員既能被同一包下的其他類(lèi)訪(fǎng)問(wèn),也能被不同包下該類(lèi)的子類(lèi)訪(fǎng)問(wèn)。

④public(公共訪(fǎng)問(wèn)級(jí)別):這是一個(gè)最寬松的訪(fǎng)問(wèn)控制級(jí)別,如果一個(gè)類(lèi)或者類(lèi)的成員被public訪(fǎng)問(wèn)控制符修飾,那么這個(gè)類(lèi)或者類(lèi)的成員能被所有的類(lèi)訪(fǎng)問(wèn),不管訪(fǎng)問(wèn)類(lèi)與被訪(fǎng)問(wèn)類(lèi)是否在同一個(gè)包中。

接下來(lái)通過(guò)一個(gè)表將這4種訪(fǎng)問(wèn)級(jí)別更加直觀(guān)地表示出來(lái),如下表所示。

訪(fǎng)問(wèn)控制級(jí)別

1658990963491_3.png

注意:如果一個(gè)Java源文件中定義的所有類(lèi)都沒(méi)有使用public修飾,那么這個(gè)Java原文件的文件名可以是一切合法的文件名;如果一個(gè)源文件中定義了一個(gè)public修飾的類(lèi),那么這個(gè)源文件的文件名必須與public修飾的類(lèi)的類(lèi)名相同。


分享到:
在線(xiàn)咨詢(xún) 我要報(bào)名
和我們?cè)诰€(xiàn)交談!