问题:
try {}里有一个return语句,那么紧跟在这个try后的finally{}里的code会不会被执行,什么时候被执行,在return前还是后?
public class Finally_Test{
static int test(){
int y=1;
try {
System.out.println("before return: "+y);
return y; //返回值
}finally {
y++;
System.out.println("finally: "+y);
}
}
public static void main(String[] args) {
System.out.println("main: "+test());
}
}
执行结果:
before return: 1
finally: 2
main: 1
结果一目了然。