关于finally的使用


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了。


posted @ 2011-08-12 18:00  jinmengzhe  阅读(636)  评论(6编辑  收藏  举报