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启动,该对象被回收时调用。

  • 相关阅读:
    窗口与窗口之间的关系
    线程同步机制--信号量
    c++的静态变量与静态函数
    MFC实现普通DLL
    常规DLL与扩展DLL区别
    pyget-资源与标签(Sprite、Label、Font)
    linux如何添加系统环境变量
    nginx 入门 安装
    redis基本用法
    linux安装 redis
  • 原文地址:https://www.cnblogs.com/wzk-0000/p/9876660.html
Copyright © 2011-2022 走看看