一、概要
通過了解Java4種修飾符訪問權限,能夠進一步完善程序類,合理規划權限的范圍,這樣才能減少漏洞、提高安全性、具備表達力便於使用。
二、權限表
修飾符 | 同一個類 | 同一個包 | 不同包的子類 | 不同包的非子類 |
---|---|---|---|---|
Private | √ | × | × | × |
Default | √ | √ | × | × |
Protected | √ | √ | √ | × |
Public | √ | √ | √ | √ |
三、說明
3.1 private
訪問限制的最窄的修飾符,一般稱之為“私有的”。被其修飾的類、屬性以及方法只能被該類的對象訪問,其子類不能訪問,更不能允許跨包訪問。
3.2 Default
“默認訪問模式“,即不加任何訪問修飾,只允許在同包中進行訪問。
3.3 Protected
“保護形”,被其修飾的類、屬性及方法只能被類本身的方法及子類訪問,即使子類在不同的包中也可以訪問。
3.4 Public
供所有的類訪問。
四、訪問權限存在的價值
4.1 安全性
試想如果對象的private屬性都暴露出來,那么很可能在這些屬性狀態發生改變時,會影響到對象的正確狀態輸出,從而導致不必要的漏洞。
4.2 控制力
通過設定合理的權限范圍,可以安心修改底層實現,而不用擔心干擾到使用者的狀態。
4.3 表達能力
讓類或方法更具表達能力,讓使用者更多的關注重要的狀態,而無需受到不必要狀態的混淆。