20145315 《Java程序设计》第五周学习总结
20145315 《Java程序設(shè)計(jì)》第五周學(xué)習(xí)總結(jié)
教材學(xué)習(xí)內(nèi)容總結(jié)
第八章
8.1語法與繼承架構(gòu)
8.1.1使用try,catch
所有的錯(cuò)誤都會(huì)被打包為對(duì)象,使用try,catch可以對(duì)錯(cuò)誤進(jìn)行一些后期處理,使得錯(cuò)誤發(fā)生時(shí)顯示更友好的錯(cuò)誤信息。
如果發(fā)生錯(cuò)誤,執(zhí)行流程會(huì)跳離錯(cuò)誤發(fā)生點(diǎn),然后比較catch中聲明的類型,如果符合就執(zhí)行catch中語句。
8.1.2異常繼承架構(gòu)
錯(cuò)誤的對(duì)象繼承java.lang.Throwable類,Throwable有兩個(gè)子類Java.lang.Error與java.lang.Exceptions.
Exception與其子類實(shí)例是異常處理。必須明確使用try,catch語法加以處理,或者用throw聲明這個(gè)方法會(huì)拋出異常,否則會(huì)編譯失敗。
受檢異常:一定要處理Exception,但不屬于RuntimeException.
非受檢異常:程序不強(qiáng)迫處理。RuntimeException是客戶端引發(fā)的,屬于客戶端有關(guān)修改的內(nèi)容,如果一定要處理,建議是呈現(xiàn)友好信息。
注意:如果父類異常對(duì)象在子類異常對(duì)象前被捕捉,則catch子類異常對(duì)象區(qū)塊將永遠(yuǎn)不會(huì)被執(zhí)行。所以要先捕捉子類。
多重捕捉語法:區(qū)塊內(nèi)容重復(fù)時(shí)使用。(不得有繼承)
8.1.3要抓還是要拋
throw:如果拋出受檢異常,但是以面前信息無法處理異常,可有客戶端依據(jù)當(dāng)時(shí)調(diào)用的環(huán)境信息進(jìn)行處,使用throw聲明。
如果是非受檢異常,應(yīng)該改善程序邏輯來避免引發(fā)錯(cuò)誤。
在catch區(qū)塊中進(jìn)行完部分錯(cuò)誤處理以后,可以使用throw將異常再拋出。如果拋出的是受檢異常,必須在方法上使用throw聲明.
可以使用異常繼承,子類可以重新定義異常。
8.1.4
Java使用受檢異常的目的是文件化和提供編程信息。
8.1.5
若想得知異常發(fā)生的根源,以及多重方法調(diào)用下的堆棧傳播,可以利用異常對(duì)象自動(dòng)收集的堆棧追蹤來取得相關(guān)信息。
printStackTrace()
堆棧信息中顯示了異常類型,最頂層的是異常根源,以下是調(diào)用的順序。
如下:
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()方法將起點(diǎn)設(shè)在重拋異常的地方。
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認(rèn)識(shí)架構(gòu)
收集對(duì)象時(shí),會(huì)依據(jù)需求使用不同的接口操作對(duì)象。
9.1.2索引List
LinkedList特性:連接結(jié)構(gòu)
9.1.3 Set
若有重復(fù),則不再收集
9.1.4 Queue
收集的對(duì)象加入尾端,取得對(duì)象時(shí)從前端。
9.1.5泛型語法
表示支持泛型
9.1.6簡(jiǎn)介lambda
鍵值對(duì)應(yīng)的MAP
根據(jù)某個(gè)鍵來取得對(duì)應(yīng)的值
常用MAP操作類
教材學(xué)習(xí)中的問題和解決過程
沒有什么問題。。。
代碼調(diào)試中的問題和解決過程
本周代碼托管截圖
加入小組應(yīng)該就不用放截圖了吧
其他(感悟、思考等,可選)
感覺現(xiàn)在還是跟著書上走,照著書上的代碼打,雖然能看懂,但是完全不會(huì)自己編。
學(xué)習(xí)進(jìn)度條
| 目標(biāo) | 5000行 | 30篇 | 400小時(shí) | |
| 第五周 | 1000/1000 | 1/1 | 40/40 |
參考資料
- Java學(xué)習(xí)筆記(第8版)
- 《Java學(xué)習(xí)筆記(第8版)》學(xué)習(xí)指導(dǎo)
- ...
轉(zhuǎn)載于:https://www.cnblogs.com/5315hejialei/p/5351203.html
總結(jié)
以上是生活随笔為你收集整理的20145315 《Java程序设计》第五周学习总结的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MyBatis的高级映射之多对一
- 下一篇: ubuntu下查询SSH状态和安装SSH