本帖最后由 lucy198921 于 2013-4-1 20:42 编辑
public class Test {
private int x = 2;
public static void main(String[] args) {
Test t = new Test();
t.test();
System.out.println("-----------heima------------"+t.x);
}
public int test(){
try {
++x;
System.out.println("-----------try------------"+x);
return x;
} catch (Exception e) {
throw new RuntimeException();
} finally{
x++;
System.out.println("-----------finally------------"+x);
}
}
}
结果是:
-----------try------------3
-----------finally------------4
-----------heima------------4
return语句是立刻返回调用者处,
在以上代码执行try代码块时,遇到return语句时,
应该立刻返回到main函数,此时返回x的值应该是3,为
什么打印结果显示finall在return前执行,返回到main函数x的值为4?
|