Java中的private、protected、public和default的區(qū)別(詳解)
(1)對于public修飾符,它具有最大的訪問權(quán)限,可以訪問任何一個在CLASSPATH下的類、接口、異常等。它往往用于對外的情況,也就是對象或類對外的一種接口的形式。
(2)對于protected修飾符,它主要的作用就是用來保護子類的。它的含義在于子類可以用它修飾的成員,其他的不可以,它相當(dāng)于傳遞給子類的一種繼承的東西。
(3)對于default來說,有點的時候也成為friendly(友員),它是針對本包訪問而設(shè)計的,任何處于本包下的類、接口、異常等,都可以相互訪問,即使是父類沒有用protected修飾的成員也可以。
(4)對于private來說,它的訪問權(quán)限僅限于類的內(nèi)部,是一種封裝的體現(xiàn),例如,大多數(shù)的成員變量都是修飾符為private的,它們不希望被其他任何外部的類訪問。
下表為Java訪問控制符的含義和使用情況
| 類內(nèi)部 | 本包 | 子類 | 外部包 | |
| public | √ | √ | √ | √ |
| protected | √ | √ | √ | × |
| default | √ | √ | × | × |
| private | √ | × | × | × |
注意:Java的訪問控制是停留在編譯層的,也就是它不會在.class文件中留下任何的痕跡,只在編譯的時候進行訪問控制的檢查。其實,通過反射的手段,是可以訪問任何包下任何類中的成員,例如,訪問類的私有成員也是可能的。
區(qū)別:
(1)public:可以被所有其他類所訪問。
(2)private:只能被自己訪問和修改。
(3)protected:自身,子類及同一個包中類可以訪問。
(4)default(默認(rèn)):同一包中的類可以訪問,聲明時沒有加修飾符,認(rèn)為是friendly。
以上就是小編為大家?guī)淼腏ava中的private、protected、public和default的區(qū)別(詳解)全部內(nèi)容了,希望大家多多支持腳本之家~
相關(guān)文章
Idea 同一窗口導(dǎo)入多個項目的實現(xiàn)步驟
本文主要介紹了Idea 同一窗口導(dǎo)入多個項目的實現(xiàn)步驟,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-07-07
Spring?Cloud?Ribbon?負載均衡使用策略示例詳解
Spring?Cloud?Ribbon?是基于Netflix?Ribbon?實現(xiàn)的一套客戶端負載均衡工具,Ribbon客戶端組件提供了一系列的完善的配置,如超時,重試等,這篇文章主要介紹了Spring?Cloud?Ribbon?負載均衡使用策略示例詳解,需要的朋友可以參考下2023-03-03
SpringBoot集成ElaticJob定時器的實現(xiàn)代碼
這篇文章主要介紹了SpringBoot集成ElaticJob定時器的實現(xiàn)代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-06-06
實例解析觀察者模式及其在Java設(shè)計模式開發(fā)中的運用
觀察者模式定義了一種一對多的依賴關(guān)系,讓多個觀察者對象同時監(jiān)聽某一個主題對象,這個主題對象在狀態(tài)上發(fā)生變化時,會通知所有觀察者對象,使它們能夠自動更新自己.下面就以實例解析觀察者模式及其在Java設(shè)計模式開發(fā)中的運用2016-05-05

