java類成員中的訪問(wèn)級(jí)別淺析
我們知道想要訪問(wèn)一個(gè)網(wǎng)站,根據(jù)身份的不同,會(huì)有一些使用上的限制,這就是權(quán)限級(jí)別的體現(xiàn)。在java的類成員中,有一些訪問(wèn)的級(jí)別是需要我們了解的,主要分為四種:public、private、protected、package。下面我們就這四種訪問(wèn)修飾符分別進(jìn)行詳細(xì)的介紹。
一、四種訪問(wèn)修飾符
1.public修飾符用于暴露域和方法,以便在類定義的包外部能訪問(wèn)它們。對(duì)包和類中必要的接口元素,也需要使用這個(gè)級(jí)別;main()方法必須是public的,toString()方法也必須是public的。一般不會(huì)用public暴露一個(gè)域,除非這個(gè)域已經(jīng)被聲明為final。(包內(nèi)訪問(wèn))
2.private標(biāo)識(shí)的訪問(wèn)模式,表示私有的域和方法只能被同一個(gè)類中的其他方法訪問(wèn),實(shí)現(xiàn)了數(shù)據(jù)隱藏;必要時(shí),可以通過(guò)方法訪問(wèn)私有變量。(類內(nèi)訪問(wèn))
3.protected修飾符提供一個(gè)從包外部訪問(wèn)包(有限制)的方法。在域和方法前增加protected修飾符不會(huì)影響同一個(gè)包內(nèi)其他類和方法對(duì)它們的訪問(wèn)。要從包外部訪問(wèn)包(其中含有protected成員的類),必須保證被訪問(wèn)的類是帶有protected成員類的子類。也就是說(shuō),希望包中的一個(gè)類被包之外的類繼承重用時(shí),就可以使用這個(gè)級(jí)別。一般應(yīng)該慎用。(跨包訪問(wèn))
4.package是默認(rèn)的保護(hù)模式,又叫做包訪問(wèn),沒有任何修飾符時(shí)就采用這種保護(hù)模式。包訪問(wèn)允許域和方法被同一個(gè)包內(nèi)任何類的任何方法訪問(wèn)。(包中類被包外類繼承重用)
二、修飾符說(shuō)明
1.前三種類型的訪問(wèn)級(jí)別使用以下三個(gè)關(guān)鍵字之一來(lái)指定:public,private或protected。第四種類型稱為默認(rèn)訪問(wèn)級(jí)別(或包級(jí)別),并且通過(guò)不使用訪問(wèn)修飾符來(lái)指定。
如果類成員使用public關(guān)鍵字聲明為公開,如果類本身可訪問(wèn)的話,則可以從Java代碼中的任何位置訪問(wèn)它。
2.如果使用private關(guān)鍵字將類成員聲明為私有,則只能在聲明類的主體中訪問(wèn),而在其他任何地方都不能訪問(wèn)。
3.如果使用protected關(guān)鍵字將類成員聲明為保護(hù),則可以從同一包中的類或該類的子類來(lái)訪問(wèn)此類成員,即使子類位于不同的包中也是可以訪問(wèn)的。
4.如果不為類成員使用任何訪問(wèn)級(jí)別修辭符,則它具有包級(jí)別訪問(wèn)權(quán)限。 具有包級(jí)別訪問(wèn)權(quán)限的類成員可以從同一個(gè)包中訪問(wèn)。
5.類成員的訪問(wèn)級(jí)別可以從最嚴(yán)格到最不嚴(yán)格,即:private,package-level,protected和public。
知識(shí)點(diǎn)擴(kuò)展:
類可以是public或default(或包級(jí)別)。在本教程中主要介紹 public,private,protected 這幾個(gè)訪問(wèn)級(jí)別修辭符的使用。
類成員的訪問(wèn)級(jí)別確定程序的哪個(gè)區(qū)域可以訪問(wèn)它。 以下四個(gè)訪問(wèn)級(jí)別修飾符之一可以用于類成員:
- 公開(public)
- 私有(private)
- 保護(hù)(protected)
默認(rèn)或包級(jí)別訪問(wèn)
前三種類型的訪問(wèn)級(jí)別使用以下三個(gè)關(guān)鍵字之一來(lái)指定:public,private或protected。第四種類型稱為默認(rèn)訪問(wèn)級(jí)別(或包級(jí)別),并且通過(guò)不使用訪問(wèn)修飾符來(lái)指定。
如果類成員使用public關(guān)鍵字聲明為公開,如果類本身可訪問(wèn)的話,則可以從Java代碼中的任何位置訪問(wèn)它。
如果使用private關(guān)鍵字將類成員聲明為私有,則只能在聲明類的主體中訪問(wèn),而在其他任何地方都不能訪問(wèn)。
如果使用protected關(guān)鍵字將類成員聲明為保護(hù),則可以從同一包中的類或該類的子類來(lái)訪問(wèn)此類成員,即使子類位于不同的包中也是可以訪問(wèn)的。
如果不為類成員使用任何訪問(wèn)級(jí)別修辭符,則它具有包級(jí)別訪問(wèn)權(quán)限。 具有包級(jí)別訪問(wèn)權(quán)限的類成員可以從同一個(gè)包中訪問(wèn)。
到此這篇關(guān)于java類成員中的訪問(wèn)級(jí)別淺析的文章就介紹到這了,更多相關(guān)java類成員中的訪問(wèn)級(jí)別有哪些內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
spring mybatis多數(shù)據(jù)源實(shí)例詳解
本文主要介紹sping mybatis多數(shù)據(jù)源處理,在開發(fā)過(guò)程中經(jīng)常會(huì)遇到多個(gè)數(shù)據(jù)庫(kù),這里給大家舉例說(shuō)明如何處理,希望能幫助有需要的小伙伴2016-07-07Java使用過(guò)濾器防止SQL注入XSS腳本注入的實(shí)現(xiàn)
這篇文章主要介紹了Java使用過(guò)濾器防止SQL注入XSS腳本注入,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-01-01Spring中基于Java的配置@Configuration和@Bean用法詳解
這篇文章主要介紹了Spring中基于Java的配置@Configuration和@Bean用法詳解,Spring中為了減少xml中配置,可以聲明一個(gè)配置類(例如SpringConfig)來(lái)對(duì)bean進(jìn)行配置。,需要的朋友可以參考下2019-06-06springboot mybatis-plus實(shí)現(xiàn)登錄接口
本文主要介紹了springboot mybatis-plus實(shí)現(xiàn)登錄接口,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-11-11spring bean標(biāo)簽的primary屬性用法講解
這篇文章主要介紹了spring bean標(biāo)簽的primary屬性用法講解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-09-09解決方法A調(diào)用方法B的事務(wù)控制問(wèn)題
這篇文章主要介紹了解決方法A調(diào)用方法B的事務(wù)控制問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-07-07