Java中finally与return的执行顺序

来源:互联网 发布:2017qq空间淘宝客推广 编辑:程序博客网 时间:2024/04/30 02:58
finally不会执行的两种情况:
1.finally对应的try块语句还没被执行到就返回了
2.finally对应的try块语句中有System.exit()这样的语句

finally块的语句在try或catch中的return语句执行之后返回之前执行
若finally里也有return语句,则覆盖try或catch里的return的值后返回
finally里的修改语句(不是return)不影响try或catch中return的值:
可认为try或catch中的return返回的值复制一份放入线程栈的顶部,如果值是基本类型,则修改的不是同一份,因此不影响;如果值是对象的引用(复制的是引用,则都是指向同一个对象),是可以修改引用所指向的对象的,但仍然无法修改引用(值)
0 0
原创粉丝点击