20175320 2018-2019-2 《Java程序设计》第4周学习总结
生活随笔
收集整理的這篇文章主要介紹了
20175320 2018-2019-2 《Java程序设计》第4周学习总结
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
20175320 2018-2019-2 《Java程序設計》第4周學習總結
教材學習內容總結
- 本周學習了教材的第五章的內容。在這章中介紹了子類與繼承,著重講了子類繼承的規則以及使用super、final關鍵字的使用方法,介紹了方法的重寫以及基于重寫的面向抽象的編程方法。
- 繼承是一種由已有的類創建新類的機制,子類繼承一般類的屬性和行為,并根據需要增加它自己的新的屬性和行為。
- java使用關鍵字extends來定義一個類的子類,并不支持多重繼承,Object是所有類的祖先類。
- 子類和父類在同一個包中,子類繼承其父類中不是private的變量和方法,子類和父類不在同一個包中時,子類只繼承父類中的protected和public訪問權限的變量及方法。
- 當用子類的構造方法創建一個子類的對象時,不僅子類中聲明的成員變量被分配了內存,而且父類的成員變量也都分配了內存空間。子類中還有一部分方法是從父類繼承的,這部分方法卻可以操作這部分未繼承的變量。
- instanceof運算符左面的操作元是對象,右面的操作元是類,當左面的操作元是右面的類或其子類所創建的對象時,instanceof運算的結果是true,否則是false。
- 子類可以通過聲明與父類相同名字的變量來隱藏繼承的成員變量,通過重寫可以隱藏已繼承的方法。
- 重寫時方法的類型和父類的方法的類型一致或者是父類的方法的類型的子類型,并且這個方法的名字、參數個數、參數的類型和父類的方法完全相同,重寫方法既可以操作繼承的成員變量、調用繼承的方法,也可以操作子類新聲明的成員變量、調用新定義的其他方法,但無法操作被子類隱藏的成員變量和方法。
- 子類一旦隱藏了繼承的成員變量,那么子類創建的對象就不再擁有該變量,該變量將歸關鍵字super所擁有。
- 當用子類的構造方法創建一個子類的對象時,子類的構造方法總是先調用父類的某個構造方法,由于子類不繼承父類的構造方法,因此,子類在其構造方法中需要使用super來調用父類的構造方法。
- final關鍵字可以修飾類、成員變量和方法中的局部變量。final類不能被繼承,final方法不允許子類重寫,成員變量或局部變量如被修飾為final,則改變量為一常量,且需要在聲明時指定該常量的值。
- 對象的上轉型對象是子類負責創建的,上轉型對象可以訪問子類繼承或隱藏的成員變量,也可以調用子類繼承的方法或子類重寫的實例方法。上轉型對象操作子類繼承的方法或子類重寫的實例方法,如果子類重寫了父類的靜態方法,那么子類對象的上轉型對象不能調用子類重寫的靜態方法,只能調用父類的靜態方法。
- 多態性就是指父類的某個方法被其子類重寫時,可以各自產生自己的功能和行為。
- 對于abstract方法,只允許聲明,不允許實現,而且不允許使用final和abstract同時修飾一個方法或類,也不允許使用static修飾abstract方法,即abstract方法必須是實例方法。
- 面向抽象編程可以使程序的設計者把主要的精力放在程序的設計上,而不必拘泥于細節的實現。
- 使用多態進行程序設計的核心技術之一是使用上轉型對象,即將abstract類聲明的對象作為其子類對象的上轉型對象,那么這個上轉型對象就可以調用子類重寫的方法。
教材學習中的問題和解決過程
- 問題1:不知道例子5_7super.n = n;中的super關鍵字是否是必要的。
- 問題1解決方案:將該語句去掉后進行編譯運行,發現結果與代碼修改前是一致的。
- 問題2:不理解為什么static不可以修飾abstract方法。
- 問題2解決方案:經查找書本了解到上轉型對象不能調用子類重寫的靜態方法。
代碼調試中的問題和解決過程
- 問題1:產生了如圖所示錯誤。
- 問題1解決方案:發現是錯誤行的上一行忘記添加了分號。
-問題2:產生了如圖所示錯誤。 - 問題2解決方案:發現是沒有切換到正確的文件夾中。
代碼托管
上周考試錯題總結
- 如果類中沒有編寫構造方法,系統會默認該類只有一種構造方法。
- 忽略了B選項的正確性。
其他(感悟、思考等,可選)
Java編程語言中有許多內容是環環相扣的,有時一個問題的答案可以在前面的知識點中找到,這就要求我們要熟悉基礎概念,弄清楚每一個關鍵詞,每一條語句的限制條件。另外一定要多多練習,這樣才能發現一些意想不到的問題,且在使用中加深對關鍵詞以及語法的理解。
學習進度條
| 目標 | 5000行 | 30篇 | 400小時 | |
| 第一周 | 1002/2407 | 1/5 | 29/87 |
嘗試一下記錄「計劃學習時間」和「實際學習時間」,到期末看看能不能改進自己的計劃能力。這個工作學習中很重要,也很有用。
耗時估計的公式
:Y=X+X/N ,Y=X-X/N,訓練次數多了,X、Y就接近了。
參考:軟件工程軟件的估計為什么這么難,軟件工程 估計方法
- 計劃學習時間:20小時
- 實際學習時間:25小時
- 改進情況:多看看現代軟件工程 課件 軟件工程師能力自我評價表
參考資料
- Java學習筆記(第8版)
轉載于:https://www.cnblogs.com/nameless-student/p/10579595.html
總結
以上是生活随笔為你收集整理的20175320 2018-2019-2 《Java程序设计》第4周学习总结的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux - 简单设置 vim (ta
- 下一篇: java美元兑换,(Java实现) 美元