zoukankan      html  css  js  c++  java
  • 关于final

    1,关于final

    (1)被final修饰的类不可以被继承

    (2)被final修饰的方法不可以被重写

    (3)被final修饰的变量不可以被改变.如果修饰引用,那么表示引用不可变,引用指向的内容可变.

    (4)被final修饰的方法,JVM会尝试将其内联,以提高运行效率

    (5)被final修饰的常量,在编译阶段会存入常量池中.

    2,使用final变量的好处

    final变量不可变,最大好处就是线程安全

    3,能否创建一个包含可变属性的不可变对象

    可以,不可变的是引用,可变的是内容.如下面代码,final只是限制的acSysUser的引用不能变,但是对他内存中实际存的值是没有限制的

    final AcSysUser  acSysUser = new AcSysUser();
    acSysUser.setUserId("222");

    4.关于final,finalize()和finally

    (1)三者没有任何相关性,

    (2)final是一个修饰符,用于修饰变量,方法和类.如果 final 修饰变量,意味着该变量的值在初始化后不能被改变.

    (3)finalize()方法是在对象被回收之前调用的方法,给对象自己最后一个复活的机会.但是该方法由Finalizer线程调用,但调用时机无法保证.

    (4)finally是一个关键字,与 try和catch一起用于异常的处理,finally{}一定会被执行,在此处我们通常用于资源关闭操作.

  • 相关阅读:
    MySQL难点语法——连接
    MySQL难点语法——子查询
    MySQL查询——select
    python高级编程——入门语法(二)
    python高级编程——入门语法(一)
    MySQL语言分类——DML
    python高级编程——锁
    浮点数的秘密
    有符号和无符号数
    基本数据类型
  • 原文地址:https://www.cnblogs.com/excellencesy/p/14381836.html
Copyright © 2011-2022 走看看