Java中的final关键字

    技术2022-07-14  72

    final关键字

    final修饰变量final修饰方法final修饰类作用用途

    final修饰变量

      当final修饰变量时,被修饰的变量必须被初始化(赋值),后续不能改变其值/引用。 变量为基本数据类型时,该变量的值不可以改变。 变量为mutable类型时,该变量的指向(引用)不可改变,但指向空间的内容(值)可以修改。比如final StringBuilder sb,尽管被final修饰,我们仍旧可以修改它的值。 变量为immutable类型时,该变量的引用、指向的值均不可以改变。比如final String s;

    final修饰方法

      当使用final关键字声明方法时,它被称为final方法。final方法无法被覆盖(重写)。如果你认为一个方法的功能已经足够完整了,子类中不需要改变的话,你可以声明此方法为final。 注意:类的private方法隐式默认为final方法。

    final修饰类

    作用

      被final修饰的类不能被继承。对于final类中的方法都隐式默认为final类型。 比如: 会显示如下错误:

    用途

      防止类被继承,给编译器做优化提供可能。封闭的类保证了该类的所有方法都是固定不变的,不会有子类的覆盖方法需要去动态加载。比如String类型,若被final修饰,则在编译时编译器会将该变量当做常量,类似于C语言中的宏替换。

    Processed: 0.013, SQL: 9