天天看點

Java中的通路修飾符

Java程式設計開發語言中有通路修飾符這一概念。

舉個例子,如果說地球上所有的神話體系全部都真實存在,而創造所有神話體系中的諸神的又是一個更大的造物主。

那麼我們可以認為,每一個神化體系都是Java中的一個類(class),而其中的各位神都是類中的一個變量,一個或者幾個神一起才可以發出的技能或者召喚的武器則叫做一個方法或者函數。

然而造物主是一個怪老頭,在漫長無盡的歲月裡厭倦了平淡,想要在他創造的世界裡上演故事進而解悶。

于是他開始操作各個神話體系的神來幫助他來完成這一願望。

可是突然有一天,冥王哈迪斯突然發現,地獄的人口迎來了古往今來從沒出現過的鬼口大爆發(人口大爆發) ,他的團隊再也無法管理這麼浩大的隊伍。于是,他虔誠的向最大的造物主求救。

造物主心生一計。。

中國道教神話的閻羅王還有佛教體系的地藏王菩薩都是掌管類似業務的,為何不能讓他們前去幫助哈迪斯呢?

自此,各大神話打通了通道。克蘇魯找玉皇大帝一起喝瓊漿吃蟠桃。中庭之蛇耶夢加得和女娲一族的某位成員認姐妹。奧丁大罵上帝埃洛希姆(Elohim)不講武德。丘比特愛上了弗麗嘉。雷神索爾揪着雷公電母兩個人的衣領問誰打的雷響……

造物主見這一切太過混亂,于是給每一位神和他們所共同才可以施展的技能頒發了許可證。隻有許可證允許的才可以出現和發生。

在上述的故事中,造物主就是程式員先生,每一個神化體系都是一個包,有相同或相似職能的是一個類,而這一張張許可證就是Java中的通路修飾符。

Java中的通路修飾符

 話說一個A市有海陸空三個軍種,現在有三個人,分别是甲、乙、丙,甲是海軍的一個小兵,乙是海軍陸戰隊總司令,丙是總統。

甲由于職位較低,隻能在A市的海軍中工作。

乙由于某些工作需要,需要在A市和陸軍總司令、空軍總司令會面商讨要事,同時要在B、C、D等市指導海軍工作。

丙作為總統同時也是軍隊的總司令員,于是需要同時和所有軍中以及其他相關的所有部門保持密切聯系。

從以上案例我們可以知道,

非同包子類(子類)就是海陸空某一個軍種,包(本包)是不同的市區,類内部(本類)就是A市的海軍,外部包(其他)就是國防部等其他的與之相關的部門。

而通路修飾符就是甲乙丙三個人所擁有的權限。

即:甲擁有的就是private的權限

       乙擁有的就是protect的權限

       丙擁有的是public的權限