javabbs开源论坛系统

功能强大、开源、代码通俗易懂、注释详细、面向二次开发友好!

FreeCMS团队又一力作!打造更好的中国开源jsp java 论坛系统!

javabbsV1.2已发布!



在线演示 立即购买 下载用户手册
客服QQ: 124812878 联系电话: 18339991503 Email: freeteam@foxmail.com
点击查看FreeCMS商业版开源CMS系统 点击查看shop4j开源java商城系统

java中try、catch、finally中含有return的简单总结 -

加入收藏夹】     【打印】     【关闭】 来源: 日期:2017-06-04 04:00:08 点击量: 收藏

try语句在返回前,将其他所有的操作执行完,保留好要返回的值,而后转入执行finally中的语句,而后分为以下三种情况:

    情况一:如果finally中有return语句,则会将try中的return语句”覆盖“掉,直接执行finally中的return语句,得到返回值,这样便无法得到try之前保留好的返回值。

    情况二:如果finally中没有return语句,也没有改变要返回值,则执行完finally中的语句后,会接着执行try中的return语句,返回之前保留的值。

    情况三:如果finally中没有return语句,但是改变了要返回的值,这里有点类似与引用传递和值传递的区别,分以下两种情况,:

        1)如果return的数据是基本数据类型或文本字符串,则在finally中对该基本数据的改变不起作用,try中的return语句依然会返回进入finally块之前保留的值。

        2)如果return的数据是引用数据类型,而在finally中对该引用数据类型的属性值的改变起作用,try中的return语句返回的就是在finally中改变后的该属性的值。

 




上一条

下一条

相关新闻
自定义表单