概述
Java中,針對類、成員方法和屬性提供4種訪問級別,權限從小到大分別是private、default、protected、public。
private(類訪問級別)
- 如果一個類或類的成員被權限修飾符private修飾,則這個成員只能被該類的其他成員訪問,其他類則無法直接訪問。類的封裝就是通過private實現的。
default(包訪問級別)
- 如果一個類或類的成員沒有被權限修飾符修飾,則稱它為默認訪問控制級別,這個類或類的成員只能被本包中的其他類訪問。
protected(子類訪問級別)
- 如果一個類或類的成員被權限修飾符protected修飾,那么這個成員既可以被同一包下的其他類訪問,也能被不同包下的該類的子類訪問。
public(公共訪問級別)
- 如果一個類或類的成員被權限修飾符public修飾,那么這個類或者類的成員能被所有的類訪問,不管是否在同一個包中、或者是否是子類。
接下來通過一個表直觀的感受下4中不同訪問級別的權限。
修飾符/訪問范圍 | 同一個類中 | 同一個包中 | 子類中 | 全局范圍 |
---|---|---|---|---|
private | v | |||
default | v | v | ||
protected | v | v | v | |
public | v | v | v | v |