码迷,mamicode.com
首页 > 编程语言 > 详细

Java return和finally执行顺序

时间:2016-04-17 00:44:13      阅读:261      评论:0      收藏:0      [点我收藏+]

标签:

在Java语法中,return表示当前执行的结束,finally则是在当前代码块一定会执行的代码块。如果return在finally在之前执行,finally也会执行吗?答案是肯定的!

但是,finally和return的执行顺序则并不是真正意义上的先后顺序。

 1 public String test(){
 2     String s = "";
 3     try {
 4     s = "try";
 5     System.out.println(s);
 6     return s;
 7     } catch (Exception e) {
 8         s = "catch";
 9         return s;
10     } finally {
11         System.out.println(s);
12         s = "finally";
13         System.out.println(s);
14     }
15 }

在上面的代码中,最后的输出finally,但是test方法返回的参数值确实try。

个人认为,这个先后顺序没有计较的价值。需要知道的是:

1、finally执行的时候并不能改变返回参数的值;

2、finally代码块中最后不要用return;

3、finally和return一起使用,finally是会被执行的。

 

测试JDK:java version "1.6.0_45"

Java return和finally执行顺序

标签:

原文地址:http://www.cnblogs.com/java7/p/5399796.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!