java的finally与return
java的finally与return
public static void main(String[] args) {
System.out.println(test());
}
static int test() {
int a = 6;
try {
return a;
} finally {
a = 66;
System.out.println(a);
}
}
运行结果:
66
6
finally是在return执行前运行,但是return已经编译了但没有执行,它的值已经保存为6,finally执行完以后,return执行,返回值前面已经保存了,所以返回值为6。