面试题一道,输出什么,怎么解释?

空云万里晴 发布于 2013/09/06 10:53
阅读 1K+
收藏 5

这是一道关于try finally的面试题,第一眼看,输出什么,为什么?请不要用编译器。

加载中
0
Mr_Zhou
Mr_Zhou
难道不是 2  2 么?
Qimat
Qimat
test1()方法中 finally 没有return值 所以返回try中return值 test2()方法中 最终执行finally中return值 覆盖之前的x值
空云万里晴
空云万里晴
回复 @夲仒無道 : 是1 2
夲仒無道
夲仒無道
2、1?
空云万里晴
空云万里晴
也不对
0
0
韭零后张子游
韭零后张子游
韭零后张子游
回复 @刘禹星 : 我好像明白了。
ArrayListt
ArrayListt
回复 @张子游 : 我理解的是,如果try和finally都有return。那么在try执行完毕之后会惊值作一个拷贝,传递到finally里面去,就和java对象是传值,还是传引用一个道理。然后在第二页看到 http://redkcn.blog.163.com/blog/static/1661696562013230104031433/。就明白了。原来和我想的差不多
韭零后张子游
韭零后张子游
finally里是临时变量吧。我也不太懂
ArrayListt
ArrayListt
这里面的不是应该是yy,yy吗?在try里面已经走过了str="bb"; 为什么,还是会return "bb";
0
Beyond-Bit
Beyond-Bit
这道题有意思、
0
LianyouCQ
LianyouCQ

我想是:

1 , 2

因为finally始终要执行,不管是你try里是否包含了return。

0
你要爪子
你要爪子

好无聊。。直接问面试的,你们平时代码就这样吗?

这样的代码就不该出现

sjfengOS
sjfengOS
+5
伊藤熊吉
伊藤熊吉
+3
oxsicn
oxsicn
+2
money1991
money1991
+1
0
魔力猫
魔力猫
谁现实中这么胡写我糊他一脸
0
AlienJun
AlienJun
1 2  try里面是有临时变量的,
0
风飞雪
风飞雪
显然面试官抄了java面试宝典里面的题
风飞雪
风飞雪
回复 @光头程序员 : google啊老兄,吃不好睡不好有问题找谷大叔。宝典目前是2013版,不过里面有些解答是网上摘选的,个别题的答案并不正确。
小白小霸王
小白小霸王
求《java面试宝典》.pdf 下载地址
返回顶部
顶部