public class FinallyTest {
public int test() {
int i = 0;
try {
i++;
return i;
} finally {
i--;
}
}
public static void main(String[] args) {
System.out.println(new FinallyTest().test());
;
}
}
碰到一个问题:
自己分析: finally块应该是在return之前执行吧。
Debug调试发现,当执行到return i;时,下一步执行 finally块。
然后 到 return i;这行。i的值虽然i--了,但还是没执行finally块前的值。。
表述可能不清,可运行下看看。
我有点不明白其中的执行过程。