try catch finally中的return
try catch 中finally语句总是可以执行的,不管try中是否含有return语句
public class TestReturn {
public static void main(String[] args){
System.out.println(testReturn());
}
public static int testReturn(){
int i = 0;
try{
i = 1;
return i;
}catch(Exception e){
e.printStackTrace();
}finally{
i += 1;
System.out.println(i);
}
return i;
}
}
输出结果
2 //这是finally语句中的输出语句输出的 1 //这是方法中try中return的值
从输出结果可以看到,先执行try语句,再执行finally,再执行try中的return语句。。。。。finally中的对try中变量修改后,对try中return不影响,因为try中要return的变量已经保存了。。
如果finally含有return,则直接在finally中return,不从try return了。。

浙公网安备 33010602011771号