关于Java finally的一个使用

来源:互联网 发布:文件粉碎机软件 编辑:程序博客网 时间:2024/05/16 01:57

alibaba一道笔试题:

复制代码
public class TestTryCatch {
/**
*/
public static void main(String[] args) {
System.out.println(
"i的值为。。。" + new TestTryCatch().test());
}

private int test() {
int i = 1;
try {
return i;
}
finally {
++i;
System.out.println(
"finally is Executed…");
}
}
}
复制代码



答案是:

finally is Executed…
i的值为。。。1


先执行try块中的语句,然后在return前停下来去执行finally中语句,最后回来做return语句
注意finally这句话在前面,且 i 最后是1,并不是2.


add:

下来又想了想,如果你在finally里面再加个return(注意return只能是finally中的最后一行),那么返回的就是finally里面的return了。

0 0
原创粉丝点击