在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"

时间: 04-16

Java的finally执行顺序_Java return和finally执行顺序相关推荐

  1. java 线程池的使用_Java 使用线程池执行若干任务

    在执行一系列带有IO操作(例如下载文件),且互不相关的异步任务时,采用多线程可以很极大的提高运行效率.线程池包含了一系列的线程,并且可以管理这些线程.例如:创建线程,销毁线程等.本文将介绍如何使用Ja ...

  2. java 执行class顺序_java – @BeforeClass和inheritance – 执行顺序

    我有一个抽象基类,我用作我的单元测试的基础(TestNG 5.10).在这个类中,我初始化整个环境用于我的测试,设置数据库映射等.这个抽象类有一个带有@BeforeClass注释的方法,用于初始化. ...

  3. java for 执行顺序_java – @BeforeMethod和继承 – 执行顺序(TestNG)

    If I have class A and a class B extends A and both have one @BeforeMethod method, then will the pare ...

  4. java枚举加载顺序_java 中类的加载顺序(转)

    1.虚拟机在首次加载Java类时,会对静态初始化块.静态成员变量.静态方法进行一次初始化 2.只有在调用new方法时才会创建类的实例 3.类实例创建过程:按照父子继承关系进行初始化,首先执行父类的初始 ...

  5. java类验证和装载顺序_java中类的加载顺序介绍(ClassLoader)

    转自:http://blog.csdn.net/eff666/article/details/52203406 1.ClassNotFoundExcetpion 我们在开发中,经常可以遇见java.l ...

  6. java类加载器顺序_java中类的加载顺序介绍(ClassLoader)

    1.ClassNotFoundExcetpion 我们在开发中,经常可以遇见java.lang.ClassNotFoundExcetpion这个异常,今天我就来总结一下这个问题.对于这个异常,它实质涉 ...

  7. java list 多条件排序_java – 如何对arraylist执行一系列排序操作(多个排序条件)

    Collections.sort(myList,new Comparator() { @Override public int compare(Object o1,Object o2) { // wr ...

  8. java 异常抛出 顺序_java异常抛出时间顺序

    1.当前方法抛出异常时(交给java虚拟机执行异常处理) public class ExceptionTest5 { public void method(String str) throws MyE ...

  9. java类验证和装载顺序_Java类的加载顺序

    1.有继承关系的加载顺序 关于关键字static,大家 都知道它是静态的,相当于一个全局变量,也就是这个属性或者方法是可以通过类来访问,当class文件被加载进内存,开始初始化的时候,被static修 ...

最新文章

  1. 2020了,还要学JSP嘛?入个门呗!毕竟Servlet亲兄弟~
  2. MarkdownPad2.5 注册码
  3. 【PAT乙级】1038 统计同成绩学生 (20 分)
  4. java okhttp https_OkHttp是否支持接受自签名SSL证书?
  5. DSP之直接存储器访问控制器
  6. mr InputFormat类
  7. vagrant虚拟机网络设置
  8. [机器学习] Ubuntu 软件源更新(校园网)以及问题总结
  9. Unity EasyAR图像跟踪
  10. 操作系统——第二章课堂测验
  11. 使用XPath+Chrome浏览器解析网站的数据
  12. 【Python与机器学习】sklearn提高速度
  13. 论文阅读:[2019 TSE] A Theoretical and Empirical Analysis of Program Spectra Diagnosability
  14. 【MySQL】MySQL常用SQL关键字
  15. Vue 的属性、方法和生命周期
  16. ElementUI级联框回显问题
  17. ROS2 基础概念 节点
  18. Ajax的异步和同步
  19. LeetCode42题,单调栈、构造法、two pointers,这道Hard题的解法这么多?
  20. Apache Archiva搭建Maven私人服务器

热门文章

  1. feign调用第三方接口_讲一个你不知道的事:SringCloud的feign的继承特性
  2. envi读取格式ang 还是mtl,Landsat FAST文件格式及在ENVI中的读取方法
  3. ifix从sqlserver里读数据_ifix连接SQL和读写EXCEL的方法
  4. 生产者和消费者代码———操作系统_kafka如何保证高并发(从生产者、消费者角度)...
  5. 这 5 个能挣钱的 SpringBoot 项目,真TMD香!
  6. “365算法每日学计划”:01打卡
  7. 蓝桥杯练习系统习题-基础训练
  8. ERROR 2002 (HY000): Can‘t connect to local MySQL server through socket ‘/var/run/mysqld/mysqld.sock
  9. windows cmd 窗口 显示信息慢_你玩过Windows 10新版CMD了吗?
  10. python定义函数的组成部分有_Python文档学习笔记(4)--定义函数