public class Test {
public static void main(String[] args) {
System.out.println(Work.work());
}
}
class Work{
static int work() {
int i = 1;
try {
return i;
} finally {
i=10;
System.out.println("这里执行了");
}
}
}
先贴出运行结果
首先try中先执行i=2,然后将2这个值交给return,但是return不会立刻执行,而是要先执行finally中的代码,将i=10,然后打印....但此时return的值已经不是i(10),而是2.