Try—finally我们以及非常熟悉,那么try里的return和finaly到底谁先执行呢?
先看下面一段代码
public int fun1(){
System.out.println("fun1---1");
return 1;
}
public int fun2(){
System.out.println("fun2---2");
return 2;
}
public int test(){
try {
return fun1();
}finally{
return fun2();
}
}
public static void main(String[] args) {
System.out.println(new AddressDaoJdbc().test());
}
执行结果
解释一下:执行的时候先try里面遇到return 时候,会先把return的值放到栈里面,接着往下运行。运行完finally以后再把结果返回出去。