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