Java核心技术及面试指南 异常部分的面试题归纳以及答案
4.2.4.1 throw和throws有什么差別?異常(Exception)和錯(cuò)誤(Error)有什么差別?
? ?throw語(yǔ)句表示拋出異常,由方法體內(nèi)的語(yǔ)句處理。throws語(yǔ)句用在方法聲明后面,表示如果拋出異常,由該方法的調(diào)用者來處理。
? ?throws主要是聲明這個(gè)方法會(huì)拋出這種類型的異常,使它的調(diào)用者知道要捕獲這個(gè)異常。throw是具體向外拋異常的動(dòng)作,所以它是拋出一個(gè)異常實(shí)例。
?
4.2.4.2 final、finalize和finally這三個(gè)相似的關(guān)鍵字有什么差別?
? final可以定義常量,如果作用在類上,這個(gè)類就不能被繼承。
? finalize方法里可以放回收對(duì)象時(shí)需要指定的動(dòng)作,但一般不重寫。
? finally是try...catch...finally里的,不管是否發(fā)生異常,以及發(fā)生了何種異常,finally都會(huì)被執(zhí)行。?
?
4.2.4.3 如果我們采用try…catch…finally的形式來處理異常,如果在try部分有return語(yǔ)句,那么finally部分的代碼會(huì)不會(huì)執(zhí)行?
? ? 會(huì)執(zhí)行,所以在finally從句里,一般會(huì)放回收資源的動(dòng)作。
?
4.2.4.4 運(yùn)行期異常(RuntimeException)和其它異常(比如SQLException)有什么差別?你在平時(shí)開發(fā)中用過哪些運(yùn)行期異常?
? ? ?運(yùn)行期異常可以不用try..catch包含起來,運(yùn)行期異常一般有除零異常,空指針異常以及數(shù)組越界異常。
4.2.4.5 你一般在finally從句里放哪些代碼?
? ??所以在finally從句里,一般會(huì)放回收資源的動(dòng)作。
4.2.4.6 如果父類的某個(gè)方法拋出了一個(gè)異常,那么子類在覆蓋父類的這個(gè)方法時(shí),有什么限制?為什么要規(guī)定這個(gè)限制?
? ? 請(qǐng)參與本書異常部分的描述。
4.2.4.7 你有沒有自己定義過異常對(duì)象?如何自定義異常對(duì)象?
? ? 自定義異常可以通過throw拋出。
轉(zhuǎn)載于:https://www.cnblogs.com/JavaArchitect/p/8495854.html
總結(jié)
以上是生活随笔為你收集整理的Java核心技术及面试指南 异常部分的面试题归纳以及答案的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: c语言实验报告熟悉vc,C语言实验报告源
- 下一篇: Java面试题全集(上)