學號 20175313 《Java程序設計》第四周學習總結
教材學習內容總結
第五章主要內容html
-
瞭解子類的繼承性git
- 子類和父類在同一包中的繼承性(除private外其他都繼承)
- 子類和父類不在同一包中的繼承性(只繼承public和protected)
-
掌握成員變量的隱藏和方法重寫編程
- 成員變量的隱藏:注意與this的區別。
- 用關鍵字super對其進行操做。
- 經過調用從父類繼承的方法對其進行操做。
- 方法重寫:注意與方法重載的區別。
- 語法規則:這個方法的名字、參數個數、參數類型和父類的方法要徹底相同,可是方法的類型能夠是父類方法類型的子類。
- 重寫目的:經過方法重寫能夠隱藏繼承的方法,或是把父類的狀態和行爲改變成自身的狀態和行爲。
- 成員變量的隱藏:注意與this的區別。
-
理解何爲多態性以及如何產生多態微信
- 所謂多態就是指父類的某個方法被其子類重寫時,能夠各自產生本身的功能的行爲。(後面的abstract會用到)
- 將子類建立的對象的引用放到一個父類的對象中,就獲得了該對象的一個上轉型對象,那麼這個上轉型對象在調用這個方法時就可能具備多種形態。
-
熟悉abstract的使用以及相關規則學習
- 對於abstract方法,只容許聲明,沒有方法體。
- 不容許用final和static修飾abstract類或方法。
- abstract類不能用new運算符建立對象。但該對象能夠成爲其子類對象的上轉型對象調用子類重寫的方法。
-
學會面向抽象編程測試
- 目的:應對用戶需求的變化。
- 核心:讓類中的每種可能的變化對應地交給抽象類的子類去負責。
教材學習中的問題和解決過程
- 問題1:不太明白該代碼編譯不經過的緣由。
- 問題1解決方案:經過查閱課本並對上方問題進行深刻剖析,最終理解的該代碼出錯的緣由。
- 理解狀況:super必須是子類構造方法的頭一條語句,該代碼中子類B的頭一條語句中並無出現super,則默認super(),所以當父類中定義多個構造方法是,應當包括一個不帶參數的構造方法,而A中未曾出現,所以出現了編譯失敗,若在A類中加上一個無參數的構造方法,則結果應該爲2。
- 運行結果截圖:
- 問題2:對於子類的上轉型對象可否調用子類重寫的靜態方法,不是很清楚。
- 問題2解決方案:上機運行改程序,查看結果。
- 運行結果截圖:
- 結果代表:若是子類重寫了父類的靜態方法,那麼子類對象的上轉型對象不能調用子類重寫的靜態方法,只能調用父類的靜態方法。
代碼調試中的問題和解決過程
- 問題:運行結果與教材上所給的不相符(教材133頁例題)。
解決方案:經過調試發現bottom能夠成功的做爲Geometry子類的上轉型對象,可是height的值始終爲0; 後來發現是在Pillar類中少寫了一句關於對height的操做。 調試過程截圖: this
代碼託管
(https://gitee.com/xiannvyeye/test)spa
這週考試錯題總結
- 錯題1
正確答案:A
我選擇的是:B設計
- 錯誤緣由:不太清楚,我仍是認爲個人答案是正確的。
- 理解狀況:
- instanceof的使用方法:instanceof運算符左面的操做元是對象,右面是操做元是類,當左面的操做元是右面的類或其子類所建立的對象時,instanceof運算的結果是true,不然是false。
- 個人理解:
- 依照此定義,若一個實例對象是其子類所建立的對象,那麼instanceof的值爲true,可是它不是右邊操做元的對象;
- 若一個實例對象是instanceof右邊操做元所建立的,那麼instanceof的值仍然爲true,而它不是右邊操做元的對象。
- 因此我認爲沒法經過instanceof的結果來判斷實例對象是否屬於一個類。
- 錯題2
正確答案:ABCD
個人答案:CD3d
- 錯誤緣由:對final這個關鍵字的使用理解的不夠透徹,沒有全面的看待它,只看到一些片面之處。
- 理解狀況:經過查看資料final類以及String類是否能夠被繼承,已經可以明白這道題了。
心得體會
- 這周剛成立結對小夥伴,咱們暫時尚未開始一塊兒學習,因此我在打代碼的過程當中出現了許多粗心的地方,致使我浪費的不少時間去調試,找Bug,我以爲咱們結對以後這種事情的發生率必定會大幅度下降。
- 第五章的內容較少,正是由於內容少,反而使我懈怠,週四纔開始看,因此不少內容都是大體看一下,致使課後習題、測試題頻繁因爲概念問題出現錯誤。因此我以爲必定要合理分配時間。
學習進度條
代碼行數(新增/累積) | 博客量(新增/累積) | 學習時間(新增/累積) | 重要成長 | |
---|---|---|---|---|
目標 | 5000行 | 30篇 | 400小時 | |
第一週 | 13/13 | 1/1 | 23/23 | |
第二週 | 317/330 | 1/6 | 22/45 | |
第三週 | 703/1044 | 1/7 | 31/76 | |
第四周 | 1263/2094 | 2/9 | 18/84 |
-
計劃學習時間:23小時
-
實際學習時間:18小時
-
改進狀況:合理安排時間,充分利用碎片時間。
-
本週結對學習狀況
- 20175211
- 結對學習內容: