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

  • 相关阅读:
    [BZOJ4631]踩气球
    [BZOJ1998][Hnoi2010]Fsk物品调度
    [BZOJ3624][Apio2008]免费道路
    [BZOJ1064][Noi2008]假面舞会
    [BZOJ4154][Ipsc2015]Generating Synergy
    [BZOJ1941][Sdoi2010]Hide and Seek
    [BZOJ2850]巧克力王国
    [BZOJ2683][BZOJ4066]简单题
    万年历(calendar)
    SACD ISO镜像中提取DSDIFF(DFF)、DSF文件
  • 原文地址:https://www.cnblogs.com/wzk-0000/p/9876660.html
Copyright © 2011-2022 走看看