首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

try-finally有关问题 求高手解答

2012-09-07 
try-finally问题 求高手解答static int n(){int k0try{k+1(1)return 999(2)}finally{k+1(3)}}publi

try-finally问题 求高手解答
static int n(){
int k=0;
try{
k+=1;(1)
return 999;(2)
}
finally{
k+=1;(3)
}
}
public static void main(String[] args) {
System.out.println(n());
}

为什么将return 999;改为return k;执行顺序就变了呢?
当为return 999时,顺序为 (1)(3)(2)
当为return k时,顺序为(1)(2)(3)(2)

[解决办法]
这个问题,板块里问了很多次了。
次序确实一直是先return。

只不过return k的时候,就把k付给了return。
所以finally即使k+=1了,return还是原来return没+1前的k。 



[解决办法]
http://www.ticmy.com/?p=56

热点排行