20175320 2018-2019-2 《Java程序設計》第6周學習總結
教材學習內容總結
- 本週學習了教材的第七及第十章的內容。在這兩章中介紹了接內部類與異常類以及輸入、輸出流,第七章着重講了如何在內部類的基礎上實現匿名類,如何用自定義的異常類來處理程序運行時發生的異常狀況。第十章着重講了文件的建立與操做以及如何利用各類輸入輸出流來對文件進行操做。
第七章總結:
- 內部類和外嵌類的成員變量在內部類中仍然有效,內部類中的方法也能夠調用外嵌類中的方法;內部類的類體中不能夠聲明類變量和類方法。外嵌類的類體中能夠用內部類聲明對象;內部類僅供它的外嵌類使用。
- 內部類能夠被修飾爲static內部類,其餘類可使用static內部類來建立對象,但static內部類不能操做外嵌類中的實例成員變量,非內部類不能夠是static類。
- 匿名類便可在不聲明對象名的狀況下建立一個對象。
- Java使用throw關鍵字拋出一個Exception子類的實例表示異常發生,教材介紹了自帶的異常類NumberFormatException和IOException。
- Java將可能出現的異常操做放在try部分,將發生異常後的處理放在catch部分,catch參數中的異常類都是Exception的某個子類。
- Java使用關鍵字assert聲明一條斷言語句,調試程序時可使用-ea啓用斷言語句。
第十章總結:
- 輸入流的指向稱爲它的源,程序經過輸入流讀取源中的數據,輸出流指向目的地,程序經過輸出流把數據傳送到目的地。
- File類的對象主要用來獲取文件自己的一些信息以及建立目錄,不涉及對文件的讀寫操做,若是File對象是一個目錄,那麼該對象可調用方法來列出目錄下的文件和子目錄以及目錄下指定類型的文件。
- 方法createNewFile能夠建立一個目錄中沒有的文件,delete方法能夠刪除當前文件
- 在使用字節輸入輸出流時必定要在try塊部分建立輸出流,在catch塊部分檢測並處理這個異常,調用close()方法能夠保證操做系統把緩衝區的內容寫到目的地。
- 在Writer流中,write方法將數據首先寫入到緩衝區,每當緩衝區溢出時,緩衝區的內容被自動寫入到目的地,若是關閉流,緩衝區的內容會馬上被寫入到目的地。流調用flush()方法能夠馬上衝洗當前緩衝區。
- 緩衝流的源和目的地必須是字符輸入流和字符輸出流,緩衝流是上層流,它們指向的字符流稱爲底層流。
- 隨機流既可讀也可寫,但須要在非ASCII字符的文件中進行從新編碼。
- 數組流的源和目的地是計算機內存。
- 數據流容許程序按着機器無關的風格讀取Java的原始數據,須要底層流。
- 對象流可將一個對象寫入到一個文件或讀取一個對象到程序中,當使用對象流寫入或讀入對象時,要保證對象是序列化的。。
- 對象流將數組流做爲底層流就能夠將對象的序列化信息寫入內存。
教材學習中的問題和解決過程
本週的學習內容並不算難度很高,在學習過程當中沒有什麼困難,可是相關類以及方法較多且較繁雜,須要時間去熟悉和理解。html
代碼調試中的問題和解決過程
- 問題1:運行第十章的第三個程序時發生如圖錯誤:
- 問題1解決方法:發現是在虛擬機中沒有該目錄,因而修改代碼第五行的文件目錄。
- 問題2:運行第十章第六個程序時發生如圖錯誤:
- 問題2解決方法:發現是沒在源程序的目錄中建立"a.txt"文件。
上週考試錯題總結
其餘(感悟、思考等,可選)
Java是一門比較複雜的語言,它爲了實現功能而產生了不少類和方法,如何熟悉並正確地使用這些類和方法應該是我從此努力的方向。教材的各個各個章節聯繫緊密,常常須要聯繫前面的章節,而前面章節不清楚的地方要看到後面才能明白,而此次項目的內容我也用到了教材中提供的代碼,這提示咱們對教材要有至關高的熟練度,要多看教材。java
學習進度條
目標 |
5000行 |
30篇 |
400小時 |
|
第六週 |
1994/5253 |
3/10 |
25/132 |
|
嘗試一下記錄「計劃學習時間」和「實際學習時間」,到期末看看能不能改進本身的計劃能力。這個工做學習中很重要,也頗有用。
耗時估計的公式
:Y=X+X/N ,Y=X-X/N,訓練次數多了,X、Y就接近了。git
參考:軟件工程軟件的估計爲何這麼難,軟件工程 估計方法數組
參考資料