zoukankan      html  css  js  c++  java
  • Java final

    1、final修饰的类不能被继承。

    2、String就是一个被final修饰的类,我们只能用,不用继承。

    3、final不仅可以修饰类,还可以修饰变量、方法,被final修饰的变量就是一个常量,只能赋值一次。

    4、注意final和finally的区别,final是修饰类或者变量,finally是在异常处理中使用,如:

    try{ }catch(){}finally{}中,finally的作用一般用于必须处理的事情,如关闭连接。

    final也是很多面试喜欢问的地方,能回答下以下三点就不错了:
    1.被final修饰的类不可以被继承 
    2.被final修饰的方法不可以被重写 
    3.被final修饰的变量不可以被改变。如果修饰引用,那么表示引用不可变,引用指向的内容可变。
    4.被final修饰的方法,JVM会尝试将其内联,以提高运行效率 
    5.被final修饰的常量,在编译阶段会存入常量池中。

    回答出编译器对final域要遵守的两个重排序规则更好:
    1.在构造函数内对一个final域的写入,与随后把这个被构造对象的引用赋值给一个引用变量,这两个操作之间不能重排序。
    2.初次读一个包含final域的对象的引用,与随后初次读这个final域,这两个操作之间不能重排序

    附加:

    final, finalize和finally的不同之处:

    final 是一个修饰符,可以修饰变量、方法和类。如果 final 修饰变量,意味着该变量的值在初始化后不能被改变。

    finalize 方法是在对象被回收之前调用的方法,给对象自己最后一个复活的机会,但是什么时候调用 finalize 没有保证。

    finally 是一个关键字,与 try 和 catch 一起用于异常的处理。finally 块一定会被执行,无论在 try 块中是否有发生异常。

  • 相关阅读:
    二叉树前、中、后遍历
    程序员节宜冒泡
    HashMap源码分析
    Stack源码解析
    逆袭之旅DAY24.XIA.二重进阶、双色球
    逆袭之旅DAY24.XIA.数组练习
    LY.JAVA面向对象编程.内部类
    LY.JAVA面向对象编程.修饰符
    LY.JAVA面向对象编程.包的概述、导包
    XIA.人机猜拳
  • 原文地址:https://www.cnblogs.com/hplsharenote/p/9767870.html
Copyright © 2011-2022 走看看