?單個異常處理
?1.當try里的代碼發生了catch里指定類型的異常之后,才會執行catch里的代碼,程序正常執行到結尾
2.如果try里的代碼發生了非catch指定類型的異常,則會強制停止程序,報錯
3.finally修飾的代碼一定會執行,除非在執行到finally之前程序異常退出或者調用了系統的退出方法
面試題1:
在try語句中在執行return語句時,若發現后面跟了finally,則會把return的值先另外用變量緩存,執行完finally之后再真正執行return,return的值是之前緩存的變量。
總結:finally語句中無法改變return返回值
可以用?javap -c verbose runtimeDemo1.class 指令來把字節碼文件反編譯,得到?JVM 字節碼
面試題2:
final finally finalize三者的區別
final修飾的類不能被繼承,修飾的方法不能被重寫,修飾的變量是常量
finally是try catch語句中的一部分,表示要最終執行的代碼,常用來做資源的釋放
finalize:Object中的方法,在垃圾回收的時候會用到的方法