20165215 2017-2018-2 《Java程序設計》第5周學習總結

20165215 2017-2018-2 《Java程序設計》第5周學習總結

教材學習內容總結

chapter7html

  • Java支持在一個類中聲明另一個類,這樣的類稱做內部類,而包含內部類的類稱爲內部類的外嵌類
    • 內部類的類體中不能夠聲明類變量和類方法
    • 內部類能夠被修飾爲static內部類,但static內部類不能操做外嵌類中的實例變量成員
  • 和某類/接口有關的匿名類就是該類的一個子類,該子類沒有明顯地用類聲明來定義,因此稱做匿名類
    • 匿名類必定是內部類
  • 異常類
    • Java使用關鍵字throw拋出一個Exception子類的實例表示異常發生
    • 將可能出現的異常操做放在try-catch語句的try部分,一旦try部分拋出異常對象,那麼try部分將馬上結束執行,轉向執行相應的catch部分
    • 一個方法在聲明時能夠採用throws關鍵字聲明要產生的若干個異常,並在該方法的方法體中具體給出產生異常的操做
  • 使用關鍵字assert聲明斷言語句
    • Java解釋器直接運行應用程序時,默認地關閉斷言語句,在調試程序時能夠使用-ea啓用斷言預計
  • 在try-catch語句中執行了return語句,那麼finally子語句仍然會被執行;若執行了System.exit(0);,則不執行finally子語句

chapter10java

  • File類的對象主要是用來獲取文件自己的一些信息,不涉及對文件的讀寫操做
  • 文件字節輸入、輸出流的四個基本步驟
    • 程序必須在try-catch語句中的try部分建立輸入/輸出流,在catch部分檢測並處理這個異常
    • 文件中的讀取或寫入,每次都是順序進行,直到流被關閉或結束
  • 文件字符輸入、輸出流基本與字節輸入、輸出同理
  • 使用BufferReader流的方法readLine()讀取文本行;使用BufferedReader類的方法write(String s,int off,int len)把字符串s寫到寫入文件。
  • 用RandomAccessFile類建立的流稱做隨機流,隨機流便可以做爲流的源,也能夠做爲流的目的地
    • RandomAccessFile流指向文件時,不刷新文件
    • 其它方法:seek(long a);getFilePointer()
  • 使用對象流獲取序列化對象的克隆
  • 使用Scanner類和正則表達式來解析文件的特色是以時間換取空間,即解析的速度相對較慢,但節省內存
    • 使用默認分隔標記解析文件
    • 使用useDelimiter方法指定正則表達式做爲分隔標記git

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

  • 問題1:教材p167正則表達式

    異常對象能夠調用以下方法獲得或輸出有關異常的信息dom

    public String getMessage();
    public void printStackTrace();
    public String toString();
    這三種方法的輸出結果有什麼差異?函數

  • 問題1解決方案:printStackTrace()、toString()、getMessage()的區別學習

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

  • 問題1:ch7例子4中出現以下問題
    .net

  • 問題1解決方案:將catch語句後漏掉的 { 補上便可
  • 問題2:ch10例子1中編譯結果出現誤差
    設計

  • 問題2解決方案:將源文件中File f = new File("java-besti-is-20165215/src/chapter10","Example10_1.java");改成File f =new File(".","Example10_1.java");後運行結果以下
    3d

  • 問題3:編譯ch10例子2時出現以下錯誤

  • 問題3解決方案:出現fileName的位置統一好大小寫;將extendName中漏掉的d補上

代碼託管

(statistics.sh腳本的運行結果截圖)

上週考試錯題總結

  • 對成員變量的操做只能放在方法中;面嚮對象語言中的「方法」至關於C語言中的「函數」。
  • UML類圖中方法的屬性用+表示public,用-表示privat;繼承用一個帶三角的直線表示,由子類指向父類。
  • Java程序以類爲基本單位
  • p72頁例子8中圓錐對象委託圓對象調用getArea()方法計算底的面積
  • 不能用protected和private修飾類

學習進度條

代碼行數(新增/累積) 博客量(新增/累積) 學習時間(新增/累積) 重要成長
目標 5000行 30篇 400小時
第一週 37/37 1/1 15/15
第二週 398/429 2/3 15/30
第三週 753/1167 1/4 20/50
第四周 1296/2109 2/6 20/70
第五週 1191/3323 2/8 20/90

參考資料

相關文章
相關標籤/搜索