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

Java在try中return后finally还执不执行?

2015-09-07 22:57 507 查看
Java方法中,在try中return之后,后面的finally还执行吗?

测试代码如下:

public int print(){
try
{
System.out.println("try");
return 1;
}
catch(Exception e){
return 0;
}
finally{
System.out.println("finally");
}
}


直接看结果:

try

finally

原因:

finally语句在return之前执行。

如果在finally中再加上一个return呢?

测试代码如下:

public class Main {
public static void main(String[] args) {
System.out.println(print());
}

public static int print(){
try
{
System.out.println("try");
return 1;
}
catch(Exception e){
return 0;
}
finally{
System.out.println("finally");
return 2;
}
}
}


结果如下:

try

finally

2

深入理解:

《关于 Java 中 finally 语句块的深度辨析》
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java