20145315 《Java程序设计》第五周学习总结
20145315 《Java程序設計》第五周學習總結
教材學習內容總結
第八章
8.1語法與繼承架構
8.1.1使用try,catch
所有的錯誤都會被打包為對象,使用try,catch可以對錯誤進行一些后期處理,使得錯誤發生時顯示更友好的錯誤信息。
如果發生錯誤,執行流程會跳離錯誤發生點,然后比較catch中聲明的類型,如果符合就執行catch中語句。
8.1.2異常繼承架構
錯誤的對象繼承java.lang.Throwable類,Throwable有兩個子類Java.lang.Error與java.lang.Exceptions.
Exception與其子類實例是異常處理。必須明確使用try,catch語法加以處理,或者用throw聲明這個方法會拋出異常,否則會編譯失敗。
受檢異常:一定要處理Exception,但不屬于RuntimeException.
非受檢異常:程序不強迫處理。RuntimeException是客戶端引發的,屬于客戶端有關修改的內容,如果一定要處理,建議是呈現友好信息。
注意:如果父類異常對象在子類異常對象前被捕捉,則catch子類異常對象區塊將永遠不會被執行。所以要先捕捉子類。
多重捕捉語法:區塊內容重復時使用。(不得有繼承)
8.1.3要抓還是要拋
throw:如果拋出受檢異常,但是以面前信息無法處理異常,可有客戶端依據當時調用的環境信息進行處,使用throw聲明。
如果是非受檢異常,應該改善程序邏輯來避免引發錯誤。
在catch區塊中進行完部分錯誤處理以后,可以使用throw將異常再拋出。如果拋出的是受檢異常,必須在方法上使用throw聲明.
可以使用異常繼承,子類可以重新定義異常。
8.1.4
Java使用受檢異常的目的是文件化和提供編程信息。
8.1.5
若想得知異常發生的根源,以及多重方法調用下的堆棧傳播,可以利用異常對象自動收集的堆棧追蹤來取得相關信息。
printStackTrace()
堆棧信息中顯示了異常類型,最頂層的是異常根源,以下是調用的順序。
如下:
java.lang.NullPointerException
at StackTraceDemo.a(StackTraceDemo.java:20) at StackTraceDemo.b(StackTraceDemo.java:16) at StackTraceDemo.c(StackTraceDemo.java:13) at StackTraceDemo.main(StackTraceDemo.java:7) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)java:14) at StackTraceDemo.main(StackTraceDemo.java:7) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:497) at com.intellij.rt.execution.application.AppMain.main(AppMain.java:144)java.lang.NullPointerException
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:497) at com.intellij.rt.execution.application.AppMain.main(AppMain.java:144)可以使用fillInStackTrace()方法將起點設在重拋異常的地方。
java.lang.NullPointerException
at StackTraceDemo.a(StackTraceDemo.java:26) at StackTraceDemo.b(StackTraceDemo.java:22) at StackTraceDemo.c(StackTraceDemo.at StackTraceDemo.c(StackTraceDemo.java:17) at StackTraceDemo.main(StackTraceDemo.java:7)第九章
9.1使用collection與Map
9.1.1認識架構
收集對象時,會依據需求使用不同的接口操作對象。
9.1.2索引List
LinkedList特性:連接結構
9.1.3 Set
若有重復,則不再收集
9.1.4 Queue
收集的對象加入尾端,取得對象時從前端。
9.1.5泛型語法
表示支持泛型
9.1.6簡介lambda
鍵值對應的MAP
根據某個鍵來取得對應的值
常用MAP操作類
教材學習中的問題和解決過程
沒有什么問題。。。
代碼調試中的問題和解決過程
本周代碼托管截圖
加入小組應該就不用放截圖了吧
其他(感悟、思考等,可選)
感覺現在還是跟著書上走,照著書上的代碼打,雖然能看懂,但是完全不會自己編。
學習進度條
| 目標 | 5000行 | 30篇 | 400小時 | |
| 第五周 | 1000/1000 | 1/1 | 40/40 |
參考資料
- Java學習筆記(第8版)
- 《Java學習筆記(第8版)》學習指導
- ...
轉載于:https://www.cnblogs.com/5315hejialei/p/5351203.html
總結
以上是生活随笔為你收集整理的20145315 《Java程序设计》第五周学习总结的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MyBatis的高级映射之多对一
- 下一篇: 再回首Java第十一天