您的位置:首页 > 其它

Try Finally 疑惑

2016-01-29 14:57 197 查看
看段代码先

<pre name="code" class="java">public class Test1 {

public static void main(String[] args) {
// TOD Auto-generated method stub
System.out.println(print());

}

public static String print(){

String s="begin";
try{
s="try";
System.out.println("try-->");
return  s;
}catch (Exception e) {
}finally{
s="finally";
System.out.println("finnaly-->");
//			return s;
}
return s;
}

}




结果

try-->

finnaly-->

try

注释取消

public class Test1 {

public static void main(String[] args) {
// TOD Auto-generated method stub
System.out.println(print());

}

public static String print(){

String s="begin";
try{
s="try";
System.out.println("try-->");
return  s;
}catch (Exception e) {
}finally{
s="finally";
System.out.println("finnaly-->");
return s;
}
//		return s;
}

}


结果

try-->

finnaly-->

finally

总结下: 不管怎样,在返回前,fanally 总会执行,但不改变s(为什么? 求解) 如何有return 就会改变
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: