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