Java的访问控制
Java的訪問控制修飾符共有4個,分別是public、protected、default、private。下面我們分別進行講解。
private訪問控制
在本章的前面,我們已經明白了private訪問控制符的作用,如果一個成員方法或成員變量名前使用了private訪問控制符,那么這個成員只能在這個類的內部使用。
注意:不能在方法體內聲明的變量前加private修飾符。
缺省訪問控制
如果一個成員方法或成員變量名前沒有使用任何訪問控制符,我們就稱這個成員是缺省的(default),或是友元的(friendly),或是包類型的(package)。對于缺省訪問控制成員,可以被這個包中的其他類訪問,如果一個子類與父類位于不同的包中,子類也不能訪問父類中的缺省訪問控制成員。
protected訪問控制
如果一個成員方法或成員變量名前使用了protected訪問控制符,那么這個成員即可以被同一個包中的其他類訪問,也可以被不同包中的子類訪問。
public訪問控制
如果一個成員方法或成員變量名前使用了public訪問控制符,那么這個成員即可以被所有的類訪問,不管訪問類與被訪問類是否在同一個包中。
最后,我們用一張圖來總結上述訪問控制符的權限。
?
| ? | private | defalut | protected | public |
| 同一類 | √ | √ | √ | √ |
| 同一包中的類 | ? | √ | √ | √ |
| 子類 | ? | ? | √ | √ |
| 其他包中的類 | ? | ? | ? | √ |
表4.1
4.6.2 類的訪問控制
除了類中的成員有訪問控制外,類本身也有訪問控制,即在定義類的class關鍵字前加上訪問控制符,但類本身只有兩種訪問控制,即public 和默認,父類不能是private和protected,否則子類無法繼承。public修飾的類能被所有的類訪問,默認修飾(即class關鍵字前沒有訪問控制符)的類,只能被同一包中的所有類訪問。
注意:
只要在class之前,沒有使用public修飾符,源文件的名稱可以是一切合法的名稱。帶有public 修飾符的類的類名必須與源文件名相同,而且只有一個。
轉載于:https://blog.51cto.com/5902977/1073400
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
- 上一篇: 拉登游戏开发--C#实现过程
- 下一篇: 计算机常用端口