前言
我们知道函数执行到return语句时,函数就会返回。那现在提出两个问题供新手朋友们思考。return后finally中的代码还会执行吗?finally中也可以有return吗?
案例一
/**
* return和finally执行顺序
*/
public class ReturnDemo {
/**
* 测试代码
*/
public static void main(String[] args) {
System.out.println(doSomething());
}
public static String doSomething() {
try {
return "函数返回";
} finally {
System.out.println("finally代码块中代码执行");
}
}
}
运行结果:
从运行结果可以看出,在函数返回前, finally代码块会执行。看到这个输出,可能有小伙伴会问了,到底是return先执行还是finally代码块先执行,那我们继续看下面的案例。
案例二
/**
* return和finally执行顺序
*/
public class ReturnDemo {
/**
* 测试代码
*/
public static void