複習《Java程序設計教程》這本書,發現以前對於繼承的認識有錯誤。
繼承
繼承的處理過程發生在編譯之前,所以相當於將父類的聲明內容加入到了子類的聲明中,然後根據訪問控制模式進行訪問。之前理解的public,protect成員域能在子類中訪問,private不能還是太片面了。(java針對於包的訪問控制權限設置了默認模式,需要考慮到,另外c++沒有默認模式)
多態
在覆蓋中會使用到super關鍵字:
super.父類型成員域;//解決同名變量的屏蔽問題
super.父類型成員方法();//解決覆蓋的成員方法的屏蔽問題
super();//調用父類構造方法
封裝性
- 非內部類的訪問控制方式有兩種:public,default
- 類的成員的訪問控制方式有四種:public,protected,default,private
類成員的訪問控制模式及其允許訪問的範圍
訪問控制模式 | 在同一個類內 | 在同一個包內 | 子類 | 所有類 |
---|---|---|---|---|
public | 允許訪問 | 允許訪問 | 允許訪問 | 允許訪問 |
protected | 允許訪問 | 允許訪問 | 允許訪問 | |
default | 允許訪問 | 允許訪問 | ||
private | 允許訪問 |