zoukankan      html  css  js  c++  java
  • final、finally、finalize区别

    final:
    final关键字 简要说一下final关键字,final可以用来修饰什么
    final在类上表示该类不可继承
    final在方法上表示该方法不可被继承重写
    final在变量上表示该变量初始化后不可修改
     
    好处:提高了性能,因为系统在初始化时候就加载了该变量,final在多线程下可以安全的共享变量
     
    finally:
    用于try/catch语句中,一般一定会执行的代码块,常用于释放资源
    例如:
     public static void main(String[] args) {
            System.out.println(test(null));
            System.out.println(test("0"));
            System.out.println(test("a11"));
        }
        public static Integer test(String str) {
            try {
                return str.charAt(0) - '0';
            } catch (NullPointerException e1) {
                System.out.println(11);
                return 1;
            } catch (StringIndexOutOfBoundsException e2) {
                return 2;
            }catch (Exception e3) {
                return 3;
            }finally{
                System.out.println(4);//这个一定会在return之前执行
    //            return 4;//这个return会顶替掉前面的其它return
            }
        }

    执行结果:

    11
    4
    1
    ----------
    4
    0
    ----------
    4
    49

    解释:finally一般一定会在返回之前执行(也有特殊情况,比如中断程序System.exit(0) ),一般用于释放资源

    finalize:

    定义在java.lang.Object中,所以每个对象都有,它在gc启动,该对象被回收时调用。

  • 相关阅读:
    每周总结8.18
    每周总结7.28
    每周总结8.25
    每周总结7.21
    每周总结8.11
    每周总结8.4
    大道至简 读后感
    递归进行回文的判断
    课后作业1
    GoodBlogs Websites
  • 原文地址:https://www.cnblogs.com/wzk-0000/p/9876660.html
Copyright © 2011-2022 走看看