1. 程式人生 > >學號 20175329 2018-2019-3《Java程序設計》第四周學習總結

學號 20175329 2018-2019-3《Java程序設計》第四周學習總結

code 特殊屬性 c語言 學習總結 ceo 教材 概念 子類重寫 bject

學號 20175329 2018-2019-3《Java程序設計》第四周學習總結

教材學習內容總結

  • 第五章
    上周學習的第四章是體現了數據的封裝,本章第五章主要是體現出對象的另外兩個方面的重要內容:繼承與多態。

  • 子類與父類
    繼承是一種由已有的類創建新類的機制。利用繼承,可以先定義一個共有屬性的一般類,根據該一般類再定義具有特殊屬性的子類,子類繼承一般類的屬性和行為,並根據需要增加它自己的新的屬性和行為。

  • 如果子類和父類在同一個包中,那麽子類自然地繼承了父類中不是pirvate的成員變量作為自己的成員變量,並且也自然地繼承了父類中不是pirvate的方法作為自己的方法,繼承的成員變量或方法的訪問權限保持不變。子類只繼承父類中的protected

    public訪問權限的成員變量作為子類的成員變量。

  • instanceof運算符是Java獨有的雙目運算符,其左面的操作元是對象,右面的操作元是類,當左面的操作元是右面的類或其子類所創建的對象時,instanceof運算的結果是true,否則是false。

  • 聲明的成員變量的名字和從父類繼承來的成員變量的名字相同,在這種情況下,子類就會隱藏所繼承的成員變量。
    1. 子類對象以及子類對象定義的方法操作與父類同名的成員變量是指子類重新聲明的這個成員變量。
    2. 子類對象仍然可以調用從父類繼承的方法操作被子類隱藏的成員變量,也就是說,子類繼承的方法所操作的成員變量一定是被子類繼承或隱藏的成員變量。
  • super關鍵字

    子類如果隱藏了成員變量或者繼承的方法,那麽子類所創建的對象就不能調用被隱藏的方法,該方法的調用由關鍵字super負責。

  • 使用super調用父類的構造方法

  • final關鍵字
    final類不能被繼承,可以修飾類、成員變量和方法中局部變量。如果用於修飾父類中的一個方法,那麽這個方法不允許子類重寫。用於修飾常量在運行期間不允許再發生變化。

  • 對象上的上轉型對象
    1. 上轉型對象不能操作子類新增的成員變量,不能調用子類新增的方法。
    2. 上轉型對象可以訪問子類繼承或隱藏的成員變量,也可以調用子類的繼承方法或子類重新的實例方法。上轉型對象操作子類繼承的方法或子類重新的實例方法,其作用等價於子類對象去調用這些方法。因此,如果子類重寫了父類的某個實例方法後,當對象的上轉型對象調用這個實例方法一定是調用了子類重寫的實例方法。
  • abstract
    1. abstract類中可以有abstract方法。
    2. 抽象類可以抽象出重要的行為標準,該行為標準用抽象的方法來表示。級抽象類封裝了子類必須要有的行為標準。
    3. 抽象類聲明的對象可以成為其子類的對象的上轉型對象,調用子類重寫的方法,體現了子類根據抽象類裏的行為標準給出具體的行為。

教材學習中的問題和解決過程

  • 問題1:剛開始對於extentsuper的使用方法以及遠離不是很理解
  • 解決方案:extent的書寫使用法方是子類與父類中的使用,對於這種使用如果畫一個原理圖會更好的理解,重新查看java學習的視頻課後自己按照視頻中劃出來一個類似的圖後類似於集合圖一目了然。super由創建對象引用子類方法的過程,由於子類建立過程中回隱藏成員變量以及方法通過super方法可以調用被隱藏的變量。

  • 問題2:abstract與之前在學習第四章類與對象是多個java文件由一個Example文件調用混淆
  • 解決方案:重新找出第四章的代碼然後手動敲出第五章的代碼然後再比較後查看概念發現abstract是一個第四章的進一步延申,第四章中只是單純的題到調用但是卻沒有說有哪些函數可以調用,但是使用abstrct在public前聲明可以知道有哪些些類可以被調用創建對象,讓一個程序更加完善也更加體現java程序的分工明確可以細化工程。

代碼托管

技術分享圖片

上周考試錯題總結

上周測試相比以前有一定的進步,至少能夠按時完成老師布置的任務,這與自己課下做了更多的功夫有一定的關聯,希望能夠再接再厲,但是在布置平方數倒敘排序的時候自己的程序還是不夠完善,不夠簡化,後來查資料發現應該可以調用import java.util.*的方式來直接進行平方排數。

心得體會

學習java也有一個月了這一個月學習了很多很新的概念對於編程有了更深層次的了解,作為高級語言相比C語言有很多的不同之處,但正是這些的不同之處可以讓我們更加方便地通過機械語言編譯一些程序去滿足多種化的需求,我也希望自己能在java學習中下更大的決心與精力,讓自己變得越來越好跟著婁老師學到更多的東西!

學習進度條

? 代碼行數(新增/累積) 博客量(新增/累積) 學習時間(新增/累積) ? ? ? ? ? ? ? ? ? ? ? ? ?重要成長? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
? ? 目標? ? ? ? ? ? ? ? ? ?5000? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 15? ? ? ? ? ? ? ? ? ? ? ? ? ? ?400? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?目標能夠運用自行開發Android?
? 第一周? ? ? ? ? ? ? ? ? 10/10 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?2/2? ? ? ? ? ? ? ? ? ? ? ? ? ? ?10/10? ? ? ? ? ? ? ? 初步熟悉JAVA以及語法區分與C的不同之處
第二周 100/100 3/3 35/35 語法知識
第三周 300/300 4/4 60/60 了解對象
第四周 800/800 5/5 80/80 學習到子類與父類

參考資料

Java學習筆記(第8版)-
《Java學習筆記(第8版)》學習指導

學號 20175329 2018-2019-3《Java程序設計》第四周學習總結