public class testFinally {
public static void main(String[] args) {
System.out.println(test(1));
System.out.println(test2(1));
System.out.println(test3(new StringBuffer("0")));
}
public static int test(int i)
{
try{
i++;
return i;
}catch(Exception e){
}finally{
i++;
}
i++;
return i;
}
public static int test2(int i)
{
try{
i++;
return i;
}catch(Exception e){
}finally{
i++;
return i;
}
}
public static StringBuffer test3(StringBuffer i)
{
try{
i.append("_1");
return i;
}catch(Exception e){
}finally{
i.append("_2");
}
return i;
}
}
很有趣的finally块,没想到return之后它还是会被执行
可是return的位置不同,结果有着一定的区别。