1、若try代码块内含有return,同时存在finally代码块(代码块内无return值)时,先执行finally函数的值。
2、若try代码块内含有return,同时存在finally代码块且代码块内含有return值时,此时finally代码块内的return值将直接返回(或覆盖掉try代码块中的return值)。
public class Test {
public static void main(String[] args) {
System.out.println(test());
}
private static int test() {
int temp = 1;
try {
System.out.println(temp);
return ++temp;
} catch (Exception e) {
System.out.println(temp);
return ++temp;
} finally {
++temp;
System.out.println(temp);
}
}
}