20175334 《Java程序設計》第四周學習總結
教材學習內容總結
- 掌握子類與父類的聲明和子類的繼承性
class 子類名
extends父類名
- 子類與父類在同一包中時,繼承除
private
外的內容 - 子類與父類不在同一包中時,繼承
protected
和public
內容
- 理解掌握成員變量的隱藏
- 用
super
關鍵操做被隱藏的成員變量或方法 - 用
super
關鍵字調用父類的構造方法
- 用
- 理解掌握方法重寫
- 語法規則:子類中定義一個方法,方法的類型和父類的一致或者是父類的方法類型的子類型,而且此方法的名字、參數個數、參數類型和父類方法徹底相同
- 重寫目的:隱藏繼承的方法,把父類的狀態和行爲改變爲自身的狀態和行爲
final
關鍵字final
類不能被繼承,即不能有子類- 不容許子類隱藏能夠繼承的
final
方法 - 若是成員變量或局部變量被修飾爲
final
,那它就是常量,須要程序在聲明常量時指定該常量的值
- 對象的上轉型對象
- 上轉型對象不能操做子類新增的成員變量,不能調用子類新增的方法
- 上轉型對象能夠訪問子類繼承或隱藏的成員變量,也能夠調用子類繼承的方法或子類重寫的實例方法
- 理解多態的概念並掌握如何產生多態
- 父類的某個方法被其子類重寫時,能夠各自產生本身的功能行爲
- 把子類建立的對象引用放到一個父類的對象中時,就獲得了該對象的一個上轉型對象,那麼這個上轉型對象在調用這個方法時就可能具備多種形態
- 掌握
abstract
類和abstract
方法- 對於
abstract
方法,只容許聲明,不遜於實現,即沒有方法體 abstract
類中能夠有abstract
方法、不能用new
運算符建立對象、對象做上轉型對象
- 對於
- 學習如何面向抽象編程並瞭解開—閉原則
- 設計某重要的類時,不讓該類面向具體的類,而是面向抽象類,即所設計類中的重要數據是抽象類聲明的對象,而非具體類聲明的對象
- 開—閉原則即讓設計的系統對擴展開放,對修改關閉
教材學習中的問題和解決過程
- 問題1:一個類的各個子類是如何體現多態的
- 問題1解決方案:經過研讀課本明白了是經過重寫方法來體現的
- 問題2:對於課本後面的習題的答案不理解
- 問題2解決方案:經過上機運行,明白了書本127頁中的「若是子類重寫了父類的靜態方法,那麼子類對象的上轉型對象不能調用子類重寫的靜態方法,只能調用父類的靜態方法」這一律念
代碼調試中的問題和解決過程
- 問題1:編譯時彈出「使用或覆蓋了已過期的API」的指令
- 問題1解決方案:經過百度瞭解到這個問題是由於使用JDK中的類的時候,調用了已通過時的方法,對編譯結果沒有影響
代碼託管
學習心得
- 已經學習了一個月的Java,對於本身的編程能力已經有了必定的提高,但願在接下來的學習中可以取得更大進步
- 課本後的習題不單單是編程題有用,其它的題目也對本章內容的複習有很大的做用
- 我以爲面向抽象編程在團隊設計中有很大的做用,這使得程序的設計者和子類的設計者各盡其能,大大減小了編程的時間