A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 陈志伟 中级黑马   /  2012-4-8 15:37  /  1321 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

有如下代码:
public class Indecisive {
      public static void  main(String[] args) {
                System.out.println(decision());
        }
       
       
        static boolean decision()
        {
                try
                {
                        return true;
                }
                finally
                {
                        return false;
                }
        }
}

为什么结果返回false而不是true?

3 个回复

倒序浏览
本帖最后由 翟友伟 于 2012-4-8 15:41 编辑

finally总是会在try语句控制结束时执行,而不管是正常结束还是意外结束!

finally的基本定义 再看看  
回复 使用道具 举报
不管try catch 里面写什么逻辑代码,finally都是一定要执行的。
所以以上代码 最终一定 return false;
回复 使用道具 举报
finally里语句会在return true;中间执行所以返回false;
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马