標籤:類構造 部分 實現 變數 轉換 覆蓋 obj 多繼承 派生
先整理一下各種存取權限許可權修飾符:
| 存取權限修飾符 |
同一個類 |
同一個包 |
子類 |
全域範圍 |
| public |
√ |
√ |
√ |
√ |
| protect |
√ |
√ |
√ |
x |
| private |
√ |
Χ |
x |
x |
| 無修飾符(預設為friendly) |
√ |
√ |
x |
x |
這一周學了繼承,知道了子類和父類的關係,及他們之間的 區別與聯絡。在繼承中,extends表示子類和父類之間繼承關係。已存在的類稱為超類、基類、或父類,新類稱為子類、衍生類別、或孩子類,子類除了比超類擁有的功能更加豐富以外,還具有階層及繼承父類的所有成員。注意的一點是,在子類中可以增加域,增加方法或覆蓋超類的方法,然而絕對不能刪除繼承的任何域和方法。若父類要求不滿足子類,則子類覆蓋父類。
super後面加(),表明要調用父類構造器,若加.表明調用父類成員及方法,java是不支援多繼承的。
final修飾符修飾三部分:1.修飾屬性域 2.修飾類 3.修飾方法,final不能形成繼承鏈,沒有子類。在使用子類和父類的過程中,要注意強制類型轉換,因為子類和父類在設定物件變數時會根據各自的需求設定,在把父類對象賦值給子類時,應統一他們的物件變數。如果類型轉換不成功,編譯器就不會進行這個轉換,java也不會產生null對象,而是拋出一個異常。
抽象類別:為了提高程式的清晰度,包含一個或多個抽象方法的類本身必須被聲明為抽象的,抽象方法充當著佔位角色,他們的具體實現在子類中。抽象類別不能被執行個體化,也就是說 如果將一個類聲明為abstract,就不能建立這個類的對象,例如: new Person("Vince Vu")是錯誤的,但可以建立一個具體子類的對象。
如果沒有明確地指出超類,Object就被預設為是這個類的超類,任何一個類都可以使用Object類,因為他們是繼承關係。
這一周實驗課跟賈亞茹坐一起,克服了跟不上老師步驟的不足,有什麼問題他們也會耐心教我,感覺找了一個好的小老師。他們的學習氛圍很好,很能帶動旁人跟著學習,感覺沒有先前那麼的特別吃力了。繼續向他們看齊。
201671010101 2016-2017-2《java程式設計》