1.throw 和 throws 的区别
throw
作用在方法内,表示抛出具体异常,由方法体内的语句处理
具体向外抛出的动作,所以它抛出的是一个异常实体类。若执行了Throw一定是抛出了某种异常
throws
作用在方法的声明上,表示如果抛出异常,则由该方法的调用者来进行异常处理
主要的声明这个方法会抛出某种类型的异常
出现异常时一种可能性,但不一定会发生异常
2.final、finally、finalize 有什么区别?
final是一种修饰符 finally是在异常处理时提供的用来执行清除操作
finalize这个方法是有垃圾收集器在确定这个对象没有被引用是对这个对象调用的,finalize()方法是在垃圾收集器删除对象之前对这个对象调用的
3.try-catch-finally 中哪个部分可以省略?
catch和finally