黑马程序员技术交流社区
标题:
一个面试题 求打印结果
[打印本页]
作者:
likeermei
时间:
2013-11-22 11:52
标题:
一个面试题 求打印结果
public class smallT
{
public static void main(String args[])
{
smallT t = new smallT();
int b = t.get();
System.out.println(b);
}
public int get()
{
try
{
return 1 ;
}
finally
{
return 2 ;
}
}
}
作者:
段光宇
时间:
2013-11-22 12:01
结果是2啊
调用get(),函数里有个try和finally,try块中的return语句执行完后,finally块中的语句是一定要执行的,所以return 2,结果为2
作者:
明月几时有
时间:
2013-11-22 12:10
结果绝对是2,本来try中放的是被检测的代码,结果返回1,但是finally中的代码在最后一定会被执行,返回2将前面的1覆盖了,所以打印结果是2!
在finally块中return或者throw都是不推荐的,这样会导致try和catch中代码的返回值无效。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2