黑马程序员技术交流社区

标题: 关于finally 必须执行的一个问题 [打印本页]

作者: 于先森    时间: 2015-4-13 20:31
标题: 关于finally 必须执行的一个问题
请问以下案例,method方法返回时是多少
              public int method(){
                int number = 10;
                try{
                        return number;
                }finally{
                        number = 20;
                }
               }

作者: Anfinsenh    时间: 2015-4-13 21:16
return(10);
作者: 是戲′終落幕    时间: 2015-4-13 22:39

return(10);!!!!!!!!!!!!
作者: 燕赵之风    时间: 2015-4-13 22:42
你的程序返回结果是10.
try{ number=20; return number;}finally{return number;} 返回20
try{ number=30; return number;}finally{number=20;}   返回30
try{ number=30; return number;}finally{number=20;return number;}返回20
由此可以得出:当try和finally中都有return语句时,先执行finally中的return语句。不然,try{}finally{}就顺序执行。
作者: 星之钥匙    时间: 2015-4-13 22:45
返回10,因为在try里面已经返回了,finally里面只是在常量区将number变成了20




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2