黑马程序员技术交流社区
标题:
在try中写了return,后面又写了finally,是先执行return还是先执行fianlly?
[打印本页]
作者:
经济
时间:
2015-6-2 10:46
标题:
在try中写了return,后面又写了finally,是先执行return还是先执行fianlly?
public class Test8{
// 定义静态变量
private static int a = 10;
public static void main(String[] args) {
// 测试在try中写了return,后面又写了finally,是先执行return还是先执行fianlly
int b = testTryReturn();
// 输出测试结果
System.out.println("a = " + a);
System.out.println("b = " + b);
}
private static int testTryReturn() {
// TODO Auto-generated method stub
try {
a = 1;
return a;
} finally {
a = 5;
}
}
}
结果分析:测试结果a=5,b=1,也就是说程序走到return时,阻塞,然后执行finally里面的代码,等到finally里面的代码执行完以后,return语句阻塞消失,然后继续执行,准确的说finally在return执行过程中执行,也可以认为先执行finally,后执行return
作者:
w490541
时间:
2015-6-2 21:47
顶顶顶顶顶顶顶顶顶
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2