java finally的问题
有次笔试的时候遇到finally的考题,例如
public static int test(){
int a = 0;
try {
throw new Exception();
} catch (Exception e) {
a = 1;
return a;
} finally{
a = 2;
return a;
}
}
调用这个静态test()方法,返回a的值是什么呢?结果是2,虽然catch块里面已经执行了return , 但是还没有将值返回给调用test方法的使用者,要最后通过finally块,
在finally块里的return 才是最后返回的值(若有return处在),copy代码到ide然后debug就知道大概的原理
posted on 2012-10-29 10:11 zxq19891211 阅读(72) 评论(0) 收藏 举报
浙公网安备 33010602011771号