黑马程序员技术交流社区
标题:
一个面试题,
[打印本页]
作者:
毕业生
时间:
2014-8-1 11:29
标题:
一个面试题,
用代码证明,在try中写了return,后面又写了finally,是先执行return还是先执行fianlly?
作者:
fxwb2005
时间:
2014-8-1 11:31
public class Test8 {
//先打印出来的是finally中的num为1,然后打印出了0
//证明num在return前并未被改变,所以return率先执行,然后才是finally
public int test()
{
int num=0;
try {
return num;
} catch (Exception e) {
}finally
{
num=num+1;
System.out.println(num+"finally执行了");
}
return 1;
}
public static void main(String[] args) {
Test8 test=new Test8();
System.out.println(test.test());
}
}
复制代码
我也抽到这题,这是我的答案,不过不知道对不对……
作者:
南柯一梦
时间:
2014-8-1 14:33
return代表结束函数,而finally是一定要执行的,肯定是先执行return,在执行finally
try
{
System.out.println("hahh+return");
return;
}
catch (Exception e)
{
}
finally
{
System.out.println("finally");
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2