您的位置:首页 > 编程语言 > Java开发

java中return和finally执行顺序

2014-03-26 20:16 232 查看
java中return和finally的执行顺序有点意思,以前没有注意,个人第一感觉上应该是执行return后,finally里的代码块就不会被执行,事实上并非如此,做个测试一切就明白了。

public class Test {
public static String s() {
System.out.println("ss");
return "ss";
}

public static String s1() {
System.out.println("ss1");
return "ss1";
}
public static String ss() {
String str = "";
try {
System.out.println(111);
return str=s();
} catch(Exception e) {

} finally {
System.out.println(333);
return s1();
}
}
public static void main(String[] args) {
System.out.println(ss());
}
}

执行结果是

111

ss

333

ss1

ss1

由结果可以看出执行完return后继续执行finally里的代码块。最后返回值为最后一个return的值。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: