1、throw和throws的区别?
throw
:真实抛出异常
throws
:声明可能会抛出一个异常
2、final、finally、finalize有什么区别?
final
:
- 修饰类:
类不可被继承
- 修饰方法:
方法不可被重写
(注意与重载的区别)- 修饰变量:变量是常量
fnally
:
- 是
try{} catch{} finally{}
最后一部分,表示无论发生任何情况都会执行,finally
部分可以省略,但如果finally部分存在,则一定会执行finally
里面的代码
finalize:
- 是Object的protected方法,子类可以覆盖该方法实现资源清理工作,
GC
在祸首对象之前调用该方法
3、try-catch-finally中 哪个部分可以省略
catch
和finally
都可以被省略,但是不能同时省略,也就是说有try
的时候,必须后面跟一个catch
或者finally
finally中return语句会覆盖try-catch中的return语句
4、try-catch-finally,如果catch中return,finally还会执行吗?
finally会执行;
finally中return语句会覆盖try-catch中的return语句