当前位置: 首页 > news >正文

return和finally的执行顺序


创建一个类,新建一个方法:

复制代码
public class Demo {

    public int get() { int x=1; try { x++; return x; }finally{ ++x; } } }
复制代码

在main方法中调用:

复制代码
public class Test {

    /**
     * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub Demo demo =new Demo(); System.out.println(demo.get()); } }
复制代码

分析:

在try语句中,在执行return语句时,要返回的结果已经准备好了,就在此时,程序转到finally执行了。

在转去之前,try中先把要返回的结果存放到不同于x的局部变量中去,执行完finally之后,在从中取出返回结果,

因此,即使finally中对变量x进行了改变,但是不会影响返回结果。

它应该使用栈保存返回值。

转载于:https://www.cnblogs.com/hq-123/p/5542890.html

相关文章:

  • Java System.getProperty()
  • 构建之法读后感
  • 个人学习对UIView动画的总结
  • L2-001 紧急救援
  • Git Shell Warning
  • $.type 怎么精确判断对象类型的 --(源码学习2)
  • Network of Schools_POJ1236_Tarjan
  • 18121 排排坐看电影
  • 编辑中
  • html5 历史管理
  • fopen()函数以a+方式打开一个不存在的文件后读写出现问题
  • 第五章
  • Android Studio自定义注释模板
  • 觉得很有用存一份
  • Grails用CONSOLE测试,比写集成测试还快
  • python3.6+scrapy+mysql 爬虫实战
  • [deviceone开发]-do_Webview的基本示例
  • 【译】React性能工程(下) -- 深入研究React性能调试
  • 2017届校招提前批面试回顾
  • 2017年终总结、随想
  • HashMap剖析之内部结构
  • Java|序列化异常StreamCorruptedException的解决方法
  • Javascript Math对象和Date对象常用方法详解
  • mockjs让前端开发独立于后端
  • MQ框架的比较
  • React-Native - 收藏集 - 掘金
  • SSH 免密登录
  • Swoft 源码剖析 - 代码自动更新机制
  • 干货 | 以太坊Mist负责人教你建立无服务器应用
  • 利用jquery编写加法运算验证码
  • 聊聊redis的数据结构的应用
  • 前端设计模式
  • 前嗅ForeSpider采集配置界面介绍
  • 使用 Docker 部署 Spring Boot项目
  • 小试R空间处理新库sf
  • 用Python写一份独特的元宵节祝福
  • 这几个编码小技巧将令你 PHP 代码更加简洁
  • 移动端高清、多屏适配方案
  • #13 yum、编译安装与sed命令的使用
  • #vue3 实现前端下载excel文件模板功能
  • (3)nginx 配置(nginx.conf)
  • (5)STL算法之复制
  • (html5)在移动端input输入搜索项后 输入法下面为什么不想百度那样出现前往? 而我的出现的是换行...
  • ***原理与防范
  • *++p:p先自+,然后*p,最终为3 ++*p:先*p,即arr[0]=1,然后再++,最终为2 *p++:值为arr[0],即1,该语句执行完毕后,p指向arr[1]
  • ..回顾17,展望18
  • .NET : 在VS2008中计算代码度量值
  • .NET CORE Aws S3 使用
  • .net core webapi 大文件上传到wwwroot文件夹
  • .NET Project Open Day(2011.11.13)
  • .net 无限分类
  • .NET企业级应用架构设计系列之开场白
  • .NET中GET与SET的用法
  • /etc/apt/sources.list 和 /etc/apt/sources.list.d
  • /etc/motd and /etc/issue