20182309 2019-2020-1 《數據結構與面向對象程序設計》第4周學習總結

20182309 2019-2020-1 《數據結構與面向對象程序設計》第4周學習總結

教材學習內容總結

  • 迭代器
  • 類的定義和實例化
  • get、set
  • return
  • 類的構造函數
  • 靜態類和靜態方法
  • 依賴、聚合
  • this
  • 方法重載
  • 調試

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

  • 問題1:如何比較布爾類型的數據
  • 問題1解決方案:調用方法equals,返回布爾值

代碼調試中的問題和解決過程

  • 問題1:(int)Math.random只返回0
  • 問題1解決方案:最後再取整

代碼託管

上週考試錯題總結

  • 1.In order to preserve encapsulation of an object, we would do all of the following except for which one?

A . Make the instance data private
B . Define the methods in the class to access and manipulate the instance data
C . Make the methods of the class public
D . Make the class final
E . All of the above preserve encapsulation
D,封裝意味着類包含操做數據所需的數據和方法。爲了正確地保留封裝,實例數據不該該直接從類外部訪問,所以實例數據被設爲私有,並定義方法來訪問和操做實例數據。此外,訪問和操做實例數據的方法被公開,以便其餘類可使用該對象。保留字「最終」用於控制繼承,與封裝無關。html

  • 2.If a method does not have a return statement, then

A . it will produce a syntax error when compiled
B . it must be a void method
C . it can not be called from outside the class that defined the method
D . it must be defined to be a public method
E . it must be an int, double, float or String method
B,全部的方法都是隱含的,所以必須有一個return語句。可是,若是程序員但願編寫一個不返回任何內容的方法,所以不須要返回語句,那麼它必須是一個void方法(其頭具備void做爲其返回類型的方法)。java

  • 3.Consider a sequence of method invocations as follows: main calls m1, m1 calls m2, m2 calls m3 and then m2 calls m4, m3 calls m5. If m4 has just terminated, what method will resume execution?

A . m1
B . m2
C . m3
D . m5
E . main
B,方法終止後,控件將繼續使用調用該方法的方法。在這種狀況下,m2調用m4,這樣當m4終止時,m2將恢復git

  • 4.Visibility modifiers include

A . public, private
B . public, private, protected
C . public, private, protected, final
D . public, protected, final, static
E . public, private, protected, static
B,public、private和protected控制變量和方法的可見性。final控制變量、方法或類是否能夠進一步更改或重寫爲不可見。靜態控制變量或方法是否與類的實例或類自己關聯。程序員

  • 5.What happens if you declare a class constructor to have a void return type?

A . You'll likely receive a syntax error
B . The program will compile with a warning, but you'll get a runtime error
C . There's nothing wrong with declaring a constructor to be void
D . The class' default constructor will be used instead of the one you're declaring
E . None of the above
A,聲明任何類型的構造函數爲偶數void都是違反語法的,這樣會收到語法錯誤數據結構

  • 6.The following method header definition will result in a syntax error: public void aMethod( );

A . true
B . false
A,語法錯誤的緣由是它以「;」符號結尾。它後面須要{},括號內有0條或更多指令。抽象方法將以「;」結尾,但此頭不定義抽象方法。app

結對及互評

  • 博客中值得學習的或問題:
    • 學習深入,本身有方法
  • 代碼中值得學習的或問題:
    • 使用繼承減小代碼的重複編寫
  • 基於評分標準,我給本博客打分:10分。得分狀況以下:
    • 正確使用Markdown語法(加1分)
    • 模板中的要素齊全(加1分)
    • 教材學習中的問題和解決過程, 一個問題加1分
    • 代碼調試中的問題和解決過程, 一個問題加1分
    • 本週有效代碼超過300分行的(加2分)
    • 排版精美的加一分
    • 代碼Commit Message規範的加1分
    • 有動手寫新代碼的加1分
    • 結對學習狀況真實可信的加1分

點評過的同窗博客和代碼

  • 本週結對學習狀況
    • 20182331
    • 結對學習內容
      • 學習IDEA的操做
      • 快捷生成類
      • 集成開發
      • 使用IDEA快速處理錯誤

學習進度條

代碼行數(新增/累積) 博客量(新增/累積) 學習時間(新增/累積) 重要成長
目標 10000行 30篇 400小時
第一週 138/138 2/2 25/25 學會寫和上傳代碼,會編簡單的輸出程序
第二週 88/226 1/3 30/55 起文件名不能太長
第三週 898/1124 2/5 35/90 Java類裏面的方法和C語言的函數很像
第四周 632/1756 2/7 30/120 能夠用繼承extends簡化重複的代碼

參考資料

相關文章
相關標籤/搜索