首先,下面这个方法调用;
public int bbb(){ if(true){ return 3; } if(true){ return 4; } return 0; }
返回的结果是 :3
可见return 含有停止后面的意思。
可是如果执行下面的程序:
public int abc(){ try { System.out.println("----"); return 1; } catch (Exception e) { // TODO: handle exception System.out.println("1111111"); }finally{ System.out.println("++++"); return 2; } }
这里返回的便是 :2
这也正表明了,finaly 恒定执行。
try里面的先放入栈中,然后再执行到finaly,因为栈是先进后出的缘故,返回的就是2
时间: 2024-10-18 13:44:17