try-finally语句中,如果try中有返回,则先保存返回值,再执行finally语句块,完成后再返回原先的保存的值。如果finally块中也有返回语句(IDE通常会提示存在问题),则从finally语句块中返回。
如下测试类中:
public class MyTest {
public int testFinally(){int re =1;
try{
System.out.println("Try block!");
return re;
}finally{
re=10;
System.out.println("Finally Block,re="+re);
}
}
}
testFinally函数输出结果是:
Try block!
Finally Block,re=10
返回1。