訪問(wèn)控制權(quán)限

Java 有四個(gè)訪問(wèn)權(quán)限修飾符,分別是public protected default private。這些修飾符用來(lái)修飾類辫诅、屬性和方法,一共也就這三種情況涧狮。建議在閱讀以下內(nèi)容時(shí)炕矮,配合 IDE 工具的智能提示進(jìn)行驗(yàn)證。

疑問(wèn):為什么要有訪問(wèn)控制權(quán)限這種東西者冤,它能用來(lái)干嘛肤视?給個(gè)保證安全性的解釋就完了?涉枫?邢滑?難道這樣解釋還不夠嗎?

用來(lái)修飾類

  • public 修飾的類愿汰,表示完全公有的困后。只要是這個(gè)項(xiàng)目下乐纸,任何地方的類中都可以使用它,如果在不同包下摇予,使用 import 導(dǎo)入下即可汽绢。
  • protected 不可以用來(lái)修飾外部類,但是在一個(gè)類的內(nèi)部類是可以使用 protected 修飾的侧戴,內(nèi)部類是外部類的一個(gè)組成部分宁昭,同樣可以被它的子類繼承。這里新增加的補(bǔ)充內(nèi)容啟示酗宋,筆記應(yīng)該反復(fù)查看积仗,曾經(jīng)的筆記可能有錯(cuò)誤或者不完善,后續(xù)應(yīng)該不斷的修改蜕猫,這就是寫(xiě)電子檔筆記的好處寂曹。
  • default 修飾的類,表示在同一個(gè)包下的類中都可以使用丹锹,但是其他包下的類中無(wú)法使用它稀颁,因?yàn)楦揪鸵?jiàn)不到。
  • private 修飾的類楣黍,叫做私有類匾灶,只有在本類中才可見(jiàn),其他類無(wú)法使用租漂。

用來(lái)修飾屬性

這里講的是實(shí)例屬性阶女,實(shí)例屬性只能通過(guò)對(duì)象引用才能夠使用。

  • public 修飾的屬性哩治,表示在這個(gè)項(xiàng)目下秃踩,任何地方的類中只要持有這個(gè)類對(duì)象的引用就可以使用它。前提當(dāng)然是這個(gè)類能夠訪問(wèn)到對(duì)象所屬的類业筏,不然怎么可能持有這個(gè)對(duì)象的引用呢憔杨?其他同理!
  • protected 修飾的屬性蒜胖,在同一個(gè)包下消别,任何一個(gè)類中只要持有這個(gè)類的引用就能夠使用它。不同包下台谢,即便是繼承關(guān)系也無(wú)法通過(guò)這個(gè)類對(duì)象的引用使用這個(gè)屬性寻狂。但是如果是繼承關(guān)系,那么這個(gè)類中可以通過(guò) this 指針來(lái)使用這個(gè)屬性朋沮,這是因?yàn)樽宇惱^承了父類的屬性蛇券。這是兩個(gè)完全不同的概念,不沖突。
  • default 修飾的屬性纠亚,在同一個(gè)包下塘慕,任何一個(gè)類中只要持有這個(gè)對(duì)象的引用就可以訪問(wèn)它,不同包下盡管持有這個(gè)對(duì)象的引用也無(wú)法使用這個(gè)屬性菜枷,而且即便是繼承關(guān)系也無(wú)法通過(guò) this 指針使用它苍糠。
  • private 修飾的屬性叁丧,只能在本類中使用啤誊,其他類都無(wú)法使用到。

用來(lái)修飾方法

這里講的是實(shí)例方法拥娄,實(shí)例方法只能通過(guò)對(duì)象引用才能夠使用蚊锹。

  • public 修飾的方法,表示在這個(gè)項(xiàng)目下稚瘾,任何一個(gè)類中只要持有這個(gè)類對(duì)象的引用就可以使用這個(gè)方法牡昆。
  • protected 修飾的方法,在同一個(gè)包下摊欠,任何一個(gè)類中只要持有這個(gè)類對(duì)象的引用來(lái)使用它丢烘。但是在不同包下,即使是繼承關(guān)系也無(wú)法通過(guò)這個(gè)類對(duì)象的引用使用它些椒。但是在這個(gè)類中可以通過(guò) this 指針使用這個(gè)方法播瞳,這是因?yàn)樽宇惱^承了父類的方法。對(duì)于 JDK 中提供的類也是同樣成立的免糕,廢話赢乓,JDK 提供的類就能夠特殊對(duì)待嗎?比如 Object 類有一個(gè)protected void finalize()throws Throwable 方法就是 protected 修飾的石窑,任何對(duì)象都是無(wú)法通過(guò)引用來(lái)調(diào)用這個(gè)方法的牌芋,只能在類的內(nèi)部通過(guò) this 指針調(diào)用。
  • default 修飾的方法松逊,在同一個(gè)包下躺屁,任何一個(gè)類中只要持有這個(gè)類對(duì)象的引用就可以使用它。在不同包下经宏,即使是繼承關(guān)系也無(wú)法通過(guò)這個(gè)類對(duì)象的引用使用它犀暑。而且即便是繼承關(guān)系也無(wú)法通過(guò) this 指針使用它,但是同一個(gè)包下的繼承關(guān)系還是可以通過(guò) this 指針使用它的烛恤。這說(shuō)明是因?yàn)椴煌聦?dǎo)致訪問(wèn)權(quán)限的問(wèn)題母怜,而不是不同包下就繼承不到了
  • private 修飾的方法缚柏,只能在本類中使用苹熏,其他類中都無(wú)法使用到。

總結(jié):

實(shí)例屬性、實(shí)例方法都是依賴于具體對(duì)象的轨域,所以不能脫離對(duì)象來(lái)談訪問(wèn)權(quán)限袱耽。Java 中任何代碼都是在類中的,所以也不能脫離類來(lái)談訪問(wèn)權(quán)限干发。因此朱巨,在談?wù)撛L問(wèn)權(quán)限的過(guò)程中,首先要明確是在哪個(gè)類中枉长,其次要明確這是通過(guò)類對(duì)象的引用來(lái)使用的方法或?qū)傩浴?/p>

包真的是一個(gè)分水嶺啊冀续。同一個(gè)包下無(wú)論是 protected 還是 default 都可以通過(guò)類對(duì)象的引用訪問(wèn)屬性和方法,但是在不同的包下是不可能訪問(wèn)得到的必峰。而且洪唐,對(duì)于繼承也是如此,同一個(gè)包下子類可以通過(guò) this 就能夠訪問(wèn)到protected 和 default 修飾的屬性和方法吼蚁,但是在不同包下凭需,子類只能訪問(wèn)到 protected 修飾的屬性和方法,default 修飾的也不行肝匆。

public 和 private 都沒(méi)有問(wèn)題粒蜈,很清晰明了。唯獨(dú) protected 和 default 修飾的屬性和方法有點(diǎn)繞旗国,以前好像一直沒(méi)深究過(guò)這個(gè)問(wèn)題枯怖,這塊都不清楚。這次弄清楚了粗仓,也不知道什么時(shí)候會(huì)忘記嫁怀,什么時(shí)候又能夠用得上呢。

正常情況下借浊,大部分都是采用 public 和 private 配合使用塘淑,default 和 protected 用的好像并不多誒,以后慢慢積累它的使用場(chǎng)景蚂斤。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末存捺,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子曙蒸,更是在濱河造成了極大的恐慌捌治,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,729評(píng)論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件纽窟,死亡現(xiàn)場(chǎng)離奇詭異肖油,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)臂港,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,226評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門(mén)森枪,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)视搏,“玉大人,你說(shuō)我怎么就攤上這事县袱』肽龋” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 169,461評(píng)論 0 362
  • 文/不壞的土叔 我叫張陵式散,是天一觀的道長(zhǎng)筋遭。 經(jīng)常有香客問(wèn)我,道長(zhǎng)暴拄,這世上最難降的妖魔是什么漓滔? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 60,135評(píng)論 1 300
  • 正文 為了忘掉前任,我火速辦了婚禮揍移,結(jié)果婚禮上次和,老公的妹妹穿的比我還像新娘反肋。我一直安慰自己那伐,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,130評(píng)論 6 398
  • 文/花漫 我一把揭開(kāi)白布石蔗。 她就那樣靜靜地躺著罕邀,像睡著了一般。 火紅的嫁衣襯著肌膚如雪养距。 梳的紋絲不亂的頭發(fā)上诉探,一...
    開(kāi)封第一講書(shū)人閱讀 52,736評(píng)論 1 312
  • 那天,我揣著相機(jī)與錄音棍厌,去河邊找鬼肾胯。 笑死,一個(gè)胖子當(dāng)著我的面吹牛耘纱,可吹牛的內(nèi)容都是我干的敬肚。 我是一名探鬼主播,決...
    沈念sama閱讀 41,179評(píng)論 3 422
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼束析,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼艳馒!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起员寇,我...
    開(kāi)封第一講書(shū)人閱讀 40,124評(píng)論 0 277
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤弄慰,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后蝶锋,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體陆爽,經(jīng)...
    沈念sama閱讀 46,657評(píng)論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,723評(píng)論 3 342
  • 正文 我和宋清朗相戀三年扳缕,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了慌闭。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片恶守。...
    茶點(diǎn)故事閱讀 40,872評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖贡必,靈堂內(nèi)的尸體忽然破棺而出兔港,到底是詐尸還是另有隱情,我是刑警寧澤仔拟,帶...
    沈念sama閱讀 36,533評(píng)論 5 351
  • 正文 年R本政府宣布衫樊,位于F島的核電站,受9級(jí)特大地震影響利花,放射性物質(zhì)發(fā)生泄漏科侈。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,213評(píng)論 3 336
  • 文/蒙蒙 一炒事、第九天 我趴在偏房一處隱蔽的房頂上張望臀栈。 院中可真熱鬧,春花似錦挠乳、人聲如沸权薯。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,700評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)盟蚣。三九已至,卻和暖如春卖怜,著一層夾襖步出監(jiān)牢的瞬間屎开,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,819評(píng)論 1 274
  • 我被黑心中介騙來(lái)泰國(guó)打工马靠, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留奄抽,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 49,304評(píng)論 3 379
  • 正文 我出身青樓甩鳄,卻偏偏與公主長(zhǎng)得像逞度,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子娩贷,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,876評(píng)論 2 361

推薦閱讀更多精彩內(nèi)容