面试题:return和finally执行
2016-05-30 15:56
399 查看
创建一个包含return和finally的方法:(如下所示)
在main方法中调用:
分析:
在try语句中,在执行return语句时,要返回的结果已经准备好了,就在此时,程序转到finally执行了。
在转去之前,try中先把要返回的结果存放到不同于x的局部变量中去,执行完finally之后,在从中取出返回结果,
因此,即使finally中对变量x进行了改变,但是不会影响返回结果。
它应该使用栈保存返回值。
public class Demo { public int get() { int x=1; try { x++; return x; }finally{ ++x; } } }
在main方法中调用:
public class Test { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub Demo demo =new Demo(); System.out.println(demo.get()); } }
分析:
在try语句中,在执行return语句时,要返回的结果已经准备好了,就在此时,程序转到finally执行了。
在转去之前,try中先把要返回的结果存放到不同于x的局部变量中去,执行完finally之后,在从中取出返回结果,
因此,即使finally中对变量x进行了改变,但是不会影响返回结果。
它应该使用栈保存返回值。
相关文章推荐
- Java异常面试题
- Android 面试题总结之Android 基础(六)
- 面试题:return和finally执行
- 大数据面试题分享
- java异常面试题
- 前端面试题
- 这7件事情是影响程序员效率的关键
- 程序员的吸星大法-IDA反汇编工具初探
- 霍兰德职业测评
- Android面试总结
- 115个Java面试题和答案
- 程序员装机必备的软件
- 程序员装机必备的软件
- 顶尖程序员不同于常人的 5 个区别
- 网友倾诉
- 【备战面试之】四、可空类型Nullable<T>到底是什么鬼
- 顶尖程序员不同于常人的 5 个区别
- 程序员讨厌项目经理的5个原因
- 程序员求职面试三部曲之三:快速适应新的工作环境
- 【面试】【MySQL常见问题总结】【04】