20155203 2016-2017-4 《Java程序設計》第6周學習總結
教材學習內容總結
- 重載和覆蓋:重載是將函數的名稱和方法不變(名稱可以有一些變動),只改變參數列表,相當於和原來的函數是兩個函數;覆蓋是對原函數功能的拓展,覆蓋后還是同一個函數。
例如,equals()的覆蓋;
- list(繼承collection和iterable),不能直接使用new關鍵字建立,new只針對類
輸入方法 | 輸出方法 | |
---|---|---|
字節流 | int read(byte[],int,int) | int write(byte[],int,int) |
字符流 | int read(char[],int,int) | void write (char[],int,int) |
3.hashcode (哈希碼)
4.使用線程中的方法和接口解決問題
教材學習中的問題和解決過程
- 問題1:Thread.sleep()方法的參數的含義?P333中參數為999是什么意思?
- 問題1解決方案:參數的含義是暫停的時間,單位是毫秒。
- 問題2:wait()和sleep()的區別
- 問題2解決方案:
對於sleep()方法,我們首先要知道該方法是屬於Thread類中的。而wait()方法,則是屬於Object類中的。
sleep()方法導致了程序暫停執行指定的時間,讓出cpu該其他線程,但是他的監控狀態依然保持者,當指定的時間到了又會自動恢復運行狀態。
在調用sleep()方法的過程中,線程不會釋放對象鎖。
而當調用wait()方法的時候,線程會放棄對象鎖,進入等待此對象的等待鎖定池,只有針對此對象調用notify()方法后本線程才進入對象鎖定池准備
代碼調試中的問題和解決過程
- 問題1:P309頁的代碼在運行時總是出現錯誤提示:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
at cc.openhome.StandardOut.main(StandardOut.java:6)
-
問題1解決方案:書上的在執行操作后加“>”或“>>”不適用於這里的問題,應該直接在執行操作后加上文件名,文件名可以加文件類型或是不加,沒有文件類型會自動生成一個沒有類型的文件。
-
問題2:在Idea中不使用命令行標識符如何解決問題一?
-
問題2解決方案:參見IDEA中如何帶參數運行
-
問題3:P314MemberDemo.java文件中建立對應文件后不能通過重命名的方式以文本形式打開(改成文本格式時出現亂碼):
- 問題3解決方案:輸入,輸出流要定義字符集,否則將使用默認字符集。
輸入,輸出流的字符集要相同。
win系統一般用UTF-16LE
new OutputStreamWriter(fos, "UTF-16LE");
代碼托管
上周考試錯題總結
上周測試后沒有得到結果;
結對及互評
- 本周結對學習情況
-
結對照片
-
結對學習內容
- 一起解決學習中遇到的問題
評分標准
-
正確使用Markdown語法(加1分):
- 不使用Markdown不加分
- 有語法錯誤的不加分(鏈接打不開,表格不對,列表不正確...)
- 排版混亂的不加分
-
模板中的要素齊全(加1分)
- 缺少“教材學習中的問題和解決過程”的不加分
- 缺少“代碼調試中的問題和解決過程”的不加分
- 代碼托管不能打開的不加分
- 缺少“結對及互評”的不能打開的不加分
- 缺少“上周考試錯題總結”的不能加分
- 缺少“進度條”的不能加分
- 缺少“參考資料”的不能加分
-
教材學習中的問題和解決過程, 一個問題加1分
-
代碼調試中的問題和解決過程, 一個問題加1分
-
本周有效代碼超過300分行的(加2分)
- 一周提交次數少於20次的不加分
-
其他加分:
- 周五前發博客的加1分
- 感想,體會不假大空的加1分
- 排版精美的加一分
- 進度條中記錄學習時間與改進情況的加1分
- 有動手寫新代碼的加1分
- 課后選擇題有驗證的加1分
- 代碼Commit Message規范的加1分
- 錯題學習深入的加1分
-
扣分:
- 有抄襲的扣至0分
- 代碼作弊的扣至0分
點評過的同學博客和代碼
其他(感悟、思考等,可選)
對文件的歸類方法實際上不太科學,因為現在編代碼的很多時候不是要從最底層編譯,而是要使用以前的類,而調用之前的類需要在上個星期或者是上上個星期的大量代碼中找很不方便,應該把常用到的比如排序查找等基本的方法類文件放在一個包里便於使用。
這周開始看課程資源中的視頻,跟老師敲代碼比自己分析確實更條理清晰,很多知識點不用重復很多遍的看才能理解。
學習進度條
代碼行數(新增/累積) | 博客量(新增/累積) | 學習時間(新增/累積) | 重要成長 | |
---|---|---|---|---|
目標 | 2500行 | 30篇 | 400小時 | |
第一周 | 80/100 | 1/1 | 20/20 | |
第二周 | 180/280 | 2/2 | 30/38 | 可以用Java語言獨立的編寫一些具有基本結構的程序 |
第三周 | 504/784 | 3/3 | 22/25 | |
第四周 | 690/1474 | 4/4 | 25/30 | 基本可以使用父類和子類進行簡單的定義和調用 |
第五周 | 807/2281 | 5/5 | 25/25 | 進行基本的查錯和拋出或直接在程序中改正,理解收集對象的含義 |
第六周 | 1373/3654 | 6/6 | 25/25 | 正確使用輸入輸出系統和線程的一些方法和接口,了解了一些線程環境下的注意事項 |
-
計划學習時間:25小時
-
實際學習時間:25小時
-
改進情況:在視頻輔導下效率大大提高!