Java基础-笔试题常考-try、finally

请问,代码运行后输出结果是什么



正确答案是:ABAB

1.这道题考察的点是:return和finally的执行顺序是什么;


执行过程:

前面输出AB,大部分人是没有疑惑的,这是因为Test1方法里面的两个输出语句。

之后,当代码执行到20行时,

先将label='A'进行赋值,

后会检测是否存在finally的语句

有,则执行finally的语句,即跳到22行,接着执行23行,Label='B',故最终结果Label的值是B!;

最终将return语句返回(此时并不进行赋值操作,Label虽然等于B,但是返回的仍然是刚才尚未执行finally语句前的值)。

最终打印的结果是:ABAB

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容