更新時間:2020-05-13 14:47:48 來源:動力節點 瀏覽2456次
Java技術分享,四種Java修飾符的訪問權限,Java語言的一大特性是封裝。當把一些屬性或者方法封裝進容器–類里面時候,會產生這樣一種需求,就是針對不同的量或方法定義不同的訪問權限,更加細粒度地維護一個類的封閉程度和私密程度。這個時候四種訪問權限修飾符就派上用場了。
通俗理解,四種訪問修飾符類似于Linux系統中不同用戶的權限等級。Linux系統中root用戶擁有所有權限,類似Java類中的public修飾的類、方法、變量擁有被所有其他對象訪問和使用的權限。
下面列舉了四種權限修飾符的作用范圍:
V表示能夠被訪問,X表示不能被訪問。
先明確類、包、子類、包外這四個相關指定訪問范圍的定義。
類----在類的內部;
包----在同一個包里面,類的外部;
子類----繼承的類,可能在包里,也可能在包外;
包外----就是包的外部。
用通俗易懂的例子來解釋比較容易:
1.假設某個類A,其中定義了publicinta;
classA{
publicinta;
}
那么在定義該變量a的類A里面可以訪問該變量a;
在類A所在的包里面其他類也可以訪問a;
A的所有子類可以訪問a;
不擁有A類的其他包里面的類也可以訪問a.
2.如果將a定義為protectinta;
那么在定義該變量a的類A里面可以訪問該變量a;
在類A所在的包里面其他類也可以訪問a;
A的所有子類可以訪問a;
不擁有A類的其他包里面的類不可以訪問a.
3.如果將a定義為inta(也就是不加任何權限修飾符,默認就是default):
那么在定義該變量a的類A里面可以訪問該變量a;
在類A所在的包里面其他類也可以訪問a;
A的所有子類BU可以訪問a;
不擁有A類的其他包里面的類BU可以訪問a.
4.如果將a定義為privateinta:
那么在定義該變量a的類A里面可以訪問該變量a;
在類A所在的包里面其他類BU也可以訪問a;
A的所有子類BU可以訪問a;
不擁有A類的其他包里面的類BU可以訪問a.
可見被訪問權限組件降低。
其中注意public可以修飾類,但是protect不能修飾外部類。(內部類相當于變量。)
以上就是動力節點java培訓機構的小編針對“Java技術分享,四種Java修飾符的訪問權限”的內容進行的回答,希望對大家有所幫助,如有疑問,請在線咨詢,有專業老師隨時為你服務。
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習