黑马程序员技术交流社区

标题: final,finally,finalize的区别 [打印本页]

作者: 陈凯    时间: 2013-1-2 13:14
标题: final,finally,finalize的区别
final--修饰符,如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类。因此一个类不能即被声明为abstract的,又被声明为final的。
finally--异常处理时提供finally来执行任何消除操作。如果抛出一个异常,那么相匹配的catch字句就会执行,然后控制就会进入finally块。
finalize--方法名,它是在object类中定义的。子类覆盖finalize() 方法以整理系统资源或者执行其他清理工作。
作者: 刘文超    时间: 2013-1-2 13:41
恩 不错不错。

  1. final--修饰符,如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类。因此一个类不能即被声明为abstract的,又被声明为final的。
  2. finally--异常处理时提供finally来执行任何消除操作。如果抛出一个异常,那么相匹配的catch字句就会执行,然后控制就会进入finally块。
  3. finalize--方法名,它是在object类中定义的。子类覆盖finalize() 方法以整理系统资源或者执行其他清理工作。
复制代码
补充一点:
对于finally关键字,使用try、catch、finally块包围的代码不论是否有异常产生,最后都将执行finally里边,而不是只有产生异常才执行。
经常用于对上文代码中打开的文件资源和数据库资源进行关闭操作:
  1.           }finally {
  2.                         try {
  3.                                 if (rs0 != null) {
  4.                                         rs0.close();
  5.                                 }
  6.                                 if (stmt0 != null) {
  7.                                         stmt0.close();
  8.                                 }
  9.                                 if (conn0 != null) {
  10.                                         conn0.close();
  11.                                 }
  12.                         } catch (SQLException e) {
  13.                                 e.printStackTrace();
  14.                         }
  15.                 }
复制代码

作者: 王少雷    时间: 2013-1-2 14:36
分享分享~
作者: 王晨    时间: 2013-1-3 15:28
{:soso_e179:}整理的不错




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2