更新時間:2020-04-29 14:27:12 來源:動力節點 瀏覽3200次
所謂異常,就是程序運行過程中出現的非正常情況。所有的程序都存在一些未知的問題或是錯誤,如果這些問題不進行處理,可能會給用戶造成一定的損失。因此對于Java異常中的問題,會是面試官經常詢問的。
1、throw和throws的區別?
答:throw和throws的區別:throw代表動作,表示拋出一個異常的動作;throws代表一種狀態,代表方法可能有異常拋出;throw用在方法實現中,而throws用在方法聲明中;throw只能用于拋出一種異常,而throws可以拋出多個異常。
2、final、finally、finalize有什么區別?
答:final:
(1)修飾符(關鍵字)如果一個類被聲明為final,意味著它不能再派生新的子類,不能作為父類被繼承。因此一個類不能及被聲明為abstract,又被聲明為final的。
(2)將變量或方法聲明為final,可以保證他們使用中不被改變。被聲明為final的變量必須在聲明時給定初值,而以后的引用中只能讀取,不可修改,被聲明為final的方法也同樣只能使用,不能重載。
Finally:
在異常處理時提供finally塊來執行清楚操作。如果拋出一個異常,那么相匹配的catch語句就會執行,然后控制就會進入finally塊,如果有的話。
finalize:
是方法名。java技術允許使用finalize()方法在垃圾收集器將對象從內存中清除之前做必要的清理工作。這個方法是在垃圾收集器在確定了,被清理對象沒有被引用的情況下調用的。
finalize是在Object類中定義的,因此,所有的類都繼承了它。子類可以覆蓋finalize()方法,來整理系統資源或者執行其他清理工作。
3、try-catch-finally中哪個部分可以省略?
答:catch和finally語句塊可以省略其中一個。
4、try,catch,finally都有return語句時執行哪個?
答:(1)不論是否出現異常,finally塊中代碼都會執行;
(2)當try和catch中有return時,finally仍然會執行;
(3)finally是在return后面的表達式運算后執行的(此時并沒有返回運算后的值,而是先把要返回的值保存起來,不管finally中的代碼怎么樣,返回的值都不會改變,任然是之前保存的值),所以函數返回值是在finally執行前確定的;
(4)finally中最好不要包含return,否則程序會提前退出,返回值不是try或catch中保存的返回值。
因此,任何執行try或者catch中的return語句之前,都會先執行finally語句,如果finally存在的話。
如果finally中有return語句,那么程序就return了,所以finally中的return是一定會被return的,編譯器把finally中的return實現為一個warning。
5、常見的異常類有哪些?
答:
以上就是動力節點java培訓機構的小編針對“五道互聯網常見的java異常筆試題”的內容進行的回答,希望對大家有所幫助,如有疑問,請在線咨詢,有專業老師隨時為你服務。
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習