Java中的return关键字
2016-01-11 11:16
573 查看
Java常见面试题之一:
try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后?
请看下面程序就可以解释:
结果如下:
从结果可以看出,其实关于这个回答可以说是,finally是在return中间执行的,执行到return之后,结果就放在一个临时空间里面,然后就执行finally,虽然finally里面有对result里面操作,但是已经不影响结果了,除非是在finally里面有执行return。
try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后?
请看下面程序就可以解释:
public class FinallyTest { public static void main(String[] args) { System.out.println(returnAndFinally()); } public static int returnAndFinally(){ int result = 0; try { result = 1; return result; } catch (Exception e) { }finally{ result ++; System.out.println("finally..."); } System.out.println("afterfinally..."); return result; } }
结果如下:
finally... 1
从结果可以看出,其实关于这个回答可以说是,finally是在return中间执行的,执行到return之后,结果就放在一个临时空间里面,然后就执行finally,虽然finally里面有对result里面操作,但是已经不影响结果了,除非是在finally里面有执行return。
相关文章推荐
- 关于spring mvc拦截器拦截js文件等导致无法正常使用问题的解决
- Java学习推荐书目
- java中static作用详解
- Java验证是否是身份证号
- Java中static作用详解
- Java日志:集成slf4j和logback
- maven+eclipse+groovy环境配置
- java初始化
- 从头认识java-17.3 线程状态
- java swing中常用的控件设置为背景透明的栗子
- java 获取可用的打印机列表 和 当前默认打印机
- eclipse配置maven出现这个问题,求大神解决
- spring自动扫描的问题
- Java之Pcap文件解析(三:解析文件)
- Spring3 MVC请求参数获取的几种方法
- Java中sleep()和wait()的区别
- 【第七章】 对JDBC的支持 之 7.2 JDBC模板类 ——跟我学spring3
- java,file,算法,加密解密,java源码
- Spring Cache
- Java ClassLoader机制