zoukankan      html  css  js  c++  java
  • 简单分析return和finally的执行顺序

    package Return_finally;

    /*
    * A 1 B 2 A 3 B
    * 1.先执行静态方法
    * 2.有finally,则先执行finally,在执行return语句
    */
    public class k {
    static char label;

    public static void main(String[] args) {
    System.out.println(test1());//第六步
    System.out.println('3');//第七步
    System.out.println(label);//第八步
    }// 程序执行完毕

    //先执行静态方法
    public static char test1() {
    try {
    System.out.println('A');//第一步
    System.out.println('1');//第二步
    return label = 'A'; //程序走到这里发现有finally,此时并不急着执行return //第五步
    } finally {
    System.out.println('B'); //第三步
    System.out.println('2');//第四步
    label = 'B';//程序走到这里,这里执行完之后,回去 执行return语句
    }
    }
    }

  • 相关阅读:
    线程
    自定义异常
    throw 子句
    throw 语句
    异常处理
    异常处理
    匿名类
    接口的使用,内部类
    接口,接口的定义
    如何理解无偏估计?无偏估计有什么用?什么是无偏估计?
  • 原文地址:https://www.cnblogs.com/Loadhao/p/6593601.html
Copyright © 2011-2022 走看看