java類成員中的訪問級別淺析
我們知道想要訪問一個網(wǎng)站,根據(jù)身份的不同,會有一些使用上的限制,這就是權(quán)限級別的體現(xiàn)。在java的類成員中,有一些訪問的級別是需要我們了解的,主要分為四種:public、private、protected、package。下面我們就這四種訪問修飾符分別進行詳細(xì)的介紹。
一、四種訪問修飾符1.public修飾符用于暴露域和方法,以便在類定義的包外部能訪問它們。對包和類中必要的接口元素,也需要使用這個級別;main()方法必須是public的,toString()方法也必須是public的。一般不會用public暴露一個域,除非這個域已經(jīng)被聲明為final。(包內(nèi)訪問)
2.private標(biāo)識的訪問模式,表示私有的域和方法只能被同一個類中的其他方法訪問,實現(xiàn)了數(shù)據(jù)隱藏;必要時,可以通過方法訪問私有變量。(類內(nèi)訪問)
3.protected修飾符提供一個從包外部訪問包(有限制)的方法。在域和方法前增加protected修飾符不會影響同一個包內(nèi)其他類和方法對它們的訪問。要從包外部訪問包(其中含有protected成員的類),必須保證被訪問的類是帶有protected成員類的子類。也就是說,希望包中的一個類被包之外的類繼承重用時,就可以使用這個級別。一般應(yīng)該慎用。(跨包訪問)
4.package是默認(rèn)的保護模式,又叫做包訪問,沒有任何修飾符時就采用這種保護模式。包訪問允許域和方法被同一個包內(nèi)任何類的任何方法訪問。(包中類被包外類繼承重用)
二、修飾符說明1.前三種類型的訪問級別使用以下三個關(guān)鍵字之一來指定:public,private或protected。第四種類型稱為默認(rèn)訪問級別(或包級別),并且通過不使用訪問修飾符來指定。
如果類成員使用public關(guān)鍵字聲明為公開,如果類本身可訪問的話,則可以從Java代碼中的任何位置訪問它。
2.如果使用private關(guān)鍵字將類成員聲明為私有,則只能在聲明類的主體中訪問,而在其他任何地方都不能訪問。
3.如果使用protected關(guān)鍵字將類成員聲明為保護,則可以從同一包中的類或該類的子類來訪問此類成員,即使子類位于不同的包中也是可以訪問的。
4.如果不為類成員使用任何訪問級別修辭符,則它具有包級別訪問權(quán)限。 具有包級別訪問權(quán)限的類成員可以從同一個包中訪問。
5.類成員的訪問級別可以從最嚴(yán)格到最不嚴(yán)格,即:private,package-level,protected和public。
知識點擴展:
類可以是public或default(或包級別)。在本教程中主要介紹 public,private,protected 這幾個訪問級別修辭符的使用。類成員的訪問級別確定程序的哪個區(qū)域可以訪問它。 以下四個訪問級別修飾符之一可以用于類成員:
公開(public) 私有(private) 保護(protected)默認(rèn)或包級別訪問前三種類型的訪問級別使用以下三個關(guān)鍵字之一來指定:public,private或protected。第四種類型稱為默認(rèn)訪問級別(或包級別),并且通過不使用訪問修飾符來指定。
如果類成員使用public關(guān)鍵字聲明為公開,如果類本身可訪問的話,則可以從Java代碼中的任何位置訪問它。
如果使用private關(guān)鍵字將類成員聲明為私有,則只能在聲明類的主體中訪問,而在其他任何地方都不能訪問。
如果使用protected關(guān)鍵字將類成員聲明為保護,則可以從同一包中的類或該類的子類來訪問此類成員,即使子類位于不同的包中也是可以訪問的。
如果不為類成員使用任何訪問級別修辭符,則它具有包級別訪問權(quán)限。 具有包級別訪問權(quán)限的類成員可以從同一個包中訪問。
到此這篇關(guān)于java類成員中的訪問級別淺析的文章就介紹到這了,更多相關(guān)java類成員中的訪問級別有哪些內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. 完美解決vue 中多個echarts圖表自適應(yīng)的問題2. SpringBoot+TestNG單元測試的實現(xiàn)3. idea配置jdk的操作方法4. Springboot 全局日期格式化處理的實現(xiàn)5. IntelliJ IDEA設(shè)置默認(rèn)瀏覽器的方法6. Docker容器如何更新打包并上傳到阿里云7. Java GZip 基于內(nèi)存實現(xiàn)壓縮和解壓的方法8. python 浮點數(shù)四舍五入需要注意的地方9. JAMon(Java Application Monitor)備忘記10. vue實現(xiàn)web在線聊天功能
