博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
异常处理try...catch...finally中的finally关键字相关问题
阅读量:5150 次
发布时间:2019-06-13

本文共 836 字,大约阅读时间需要 2 分钟。

1. 下面的代码 finally 会不会执行,如果会是在 return 之前还是之后?
public void Test(){    int a = hello();    System.out.println("a = " + a);}public int hello(){    int a = 10;    try{        System.out.println("a = "+ a);        return a++;    } catch(Exception e){        e.printStackTrace();    } finally{        System.out.println("a = " + a);        a++;        System.out.println("a = " + a);    }    return 5;}

【答】:finally 语句块无论何时都会执行并且是在 return 之前执行

2. java 中的 final、finally 与 finalize()的区别

  • final 修饰的类不可继承,final 修饰的方法不能重写,final 修饰的变量是常量。
  • finally 是在处理异常时的一个关键字,一般 try 语句可以与 catch 连用,也可以与 finally连用,也可以三个一起连用。finally 代表无论何时(是否出现异常)其中的代码都会被执行到,一般用于关闭一些耗性能的资源,如数据库的连接。
  • finalize()是Object类的一个方法,是由protected修饰的,所以我们的子类可以重写finalize()方法。它的作用就是 java 在执行垃圾回收时对要回收的对象之前会主动调用此方法,所以,可以在此方法中定义一些回收或清理内存、资源的操作。

转载于:https://www.cnblogs.com/EaTerLeader/p/11078321.html

你可能感兴趣的文章
Python迭代器和生成器(改编自知乎相关文章)
查看>>
请问IOS中做一个手机网站的app壳复杂吗?
查看>>
docker整体了解
查看>>
R中的空间数据分析
查看>>
线程 进程 多进程间共享全局变量 锁 进程池 协程
查看>>
预习之后的问题
查看>>
省赛反思以及未来提高计划
查看>>
spfa heatwv tyvjp1031
查看>>
Stanford Local 2016 E "Election of Evil"(搜索(正解)或并查集(划掉))
查看>>
管理信息系统的开发与管理
查看>>
python获取某路径下某扩展名的所有文件名和文件个数
查看>>
搭建自己的博客(十一):添加根据日期筛选
查看>>
#ifndef/#define/#endif使用详解
查看>>
大牛讲解信号与系统以及数字信号处理
查看>>
基于dsp_builder的算法在FPGA上的实现
查看>>
BZOJ2154 Crash的数字表格
查看>>
Python学习之路1 - 基础入门
查看>>
如何用windbg分析内存泄露
查看>>
Vue系列之 => 列表动画
查看>>
定位、浮动与清除
查看>>