本帖最后由 李道福 于 2013-9-9 21:20 编辑
- <p>public class Finally{
- public static void main(String[] args){
- System.out.println(test());
- }
- public static String test(){
- try{
- System.out .println("try block");
- return test1 ();
- } finally {
- System.out .println("finally block");
- }
- }
- public static String test1(){
- System.out .println("return statement");
- return "after return";
- }
- }</p><p>越看越糊涂了,刚看到一个资料说finally语句中的代码会在return语句之前执行,但这个程序的执行结果却是</p><p>try block
- return statement
- finally block
- after return</p><p>如果finally在return语句之前执行,那结果应该是</p><p>try block</p><p>finally block
- return statement
- after return</p><p>如果是在return之后执行,那结果应该是</p><p>try block
- return statement
- after return</p><p>finally block</p><p>有那位大神知道这是怎么回事嘛?finally到底是在什么时候才会执行?</p>
复制代码 |