學號 20175212 《Java程序設計》第4周學習總結

學號 20175212 《Java程序設計》第4周學習總結

教材學習內容總結

1、 子類與父類html

  1. 父類中的private和友好訪問權限的成員變量不會被子類繼承。子類只繼承父類中的protected和public訪問權限的成員變量和方法。

2、 成員變量的隱藏和方法重寫java

  1. 成員變量的隱藏

聲明的成員變量的名字和從父類繼承的相同時,子類會隱藏繼承而來的成員變量。 且:子類對象仍然能夠調用從父類繼承的方法操做被子類隱藏的成員變量,也就是說子類繼承的方法所操做的成員變量必定是被子類繼承或隱藏的成員變量。git

  1. 方法重寫

重寫方法既能夠操做繼承的成員變量、調用繼承的方法,也能夠操做子類新聲明的成員變量、調用新定義的其餘方法,但沒法操做被子類隱藏的成員變量和方法。(除非使用super關鍵詞)
另外的,子類中重寫的方法與父類中繼承的方法不是同一類型,且其餘變量都不變的狀況下,易出現編譯錯誤,如:編程

class A {
  float computer(float x, float y) {
  return x+y;
}
}

重寫時:markdown

class B extend A {
  double computer(float x, float y) {
return x*y;
}
}
可是,子類中重寫的方法能夠是父類方法的子類型。

3、super關鍵詞學習

Super用於訪問和調用被子類隱藏的成員變量和方法。用法基本爲super.x或super.play().設計

4、final關鍵詞調試

  1. final類

形如final class A {} final類不能被繼承,即不能有子類。code

  1. final方法

在父類用final修飾的方法,不容許被子類重寫。htm

  1. final變量

就是常量,不容許修改值。

5、對象的上傳型對象

建立方式:

Animal a;
Tiger b = new Tiger();
a =b;

6、 **繼承與多態(重點)

** 上傳型對象在調用一個方法時可能具備多種形態,由於不一樣的子類在重寫父類的方法時可能產生不一樣的行爲。爲之後複習方便,在此記錄書上例題代碼:

class  動物 {
   void cry() {
   }  
}
class 狗 extends 動物 {
   void cry() {
      System.out.println("汪汪....."); 
   }  
}
class 貓 extends 動物  {
   void cry() {
      System.out.println("喵喵....."); 
   }  
}
public class Example5_11 { 
   public static void main(String args[]) {
      動物 animal;
      animal = new 狗();
      animal.cry(); 
      animal=new 貓();
      animal.cry();
  }
}

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

  • 問題1:編譯類文件時始終提示找不到符號。

  • 問題1解決方案:通過嘗試,直接編譯運行主類文件,便可正常使用。

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

  • 問題1:
    教材P124 Example5¬_8.java中,父類class中爲何要定義兩個構造方法;而且爲何子類UniversityStudent中調用重寫後的Student構造方法時要用super關鍵字。

  • 問題1解決方案:通過詢問同窗並按照書中提示嘗試後,發現因爲子類不繼承父類的構造方法,所以子類中的super是指調用父類其中一個構造方法,而不是調用被隱藏的。

代碼託管

上週考試錯題總結

結對及互評

點評模板:

  • 博客中值得學習的或問題:
    • 用了不少截圖,使問題的呈現清楚明瞭
    • 教材學習內容總結較爲具體便於複習時重溫
    • markdown格式規範
  • 代碼中值得學習的或問題:
  • 基於評分標準,我給本博客打分:13分。得分狀況以下:
  1. 正確使用Markdown語法(加1分)
  2. 模板中的要素齊全(加1分)
    3.教材學習中的問題和解決過程, 一個問題加1分
    4.代碼調試中的問題和解決過程, 兩個問題加2分
    5.本週有效代碼超過300分行的(加2分)
    • 週五前發博客的加1分
    • 排版精美的加一分
    • 感想,體會不假大空的加1分
    • 課後選擇題有驗證的加1分
    • 代碼Commit Message規範的加1分
    • 點評認真,能指出博客和代碼中的問題的加1分
    • 結對學習狀況真實可信的加1分

點評過的同窗博客和代碼

  • 本週結對學習狀況
    • 20175227

    • 結對學習內容
      • 實驗一 Java開發環境的熟悉
      • 第五章代碼運行調試
  • 上週博客互評狀況(只要連接,具體點評放相應博客下)

    本週首次互評

其餘(感悟、思考等,可選)

本章的學習使我更加直觀透徹的理解了子類父類的關係以及各類編程方法與規則,也對面向對象中的繼承與多態特色有了更深的瞭解。

學習進度條

代碼行數(新增/累積) 博客量(新增/累積) 學習時間(新增/累積) 重要成長
目標 5000行 30篇 400小時
第一週 6/6 1/1 20/20
第二週 245/251 1/2 18/38
第三週 633/884 1/3 22/60
第四周 305/1189 1/4 30/90

嘗試一下記錄「計劃學習時間」和「實際學習時間」,到期末看看能不能改進本身的計劃能力。這個工做學習中很重要,也頗有用。
耗時估計的公式
:Y=X+X/N ,Y=X-X/N,訓練次數多了,X、Y就接近了。

參考:軟件工程軟件的估計爲何這麼難軟件工程 估計方法

  • 計劃學習時間:XX小時

  • 實際學習時間:XX小時

  • 改進狀況:

(有空多看看現代軟件工程 課件
軟件工程師能力自我評價表
)

參考資料

相關文章
相關標籤/搜索