final 是 Java 中的关键字,它表示的意思是不可变的,在 Java 中,final 主要用来:
-
修饰类,final 修饰的类不能被继承,不能被继承的意思就是不能使用 extends 来继承被 final 修饰的类;
-
修饰变量,final 修饰的变量不能被改写,不能被改写的意思有两种,对于基本数据类型来说,final 修饰的变量,其值不能被改变,final 修饰的对象,对象的引用不能被改变,但是对象内部的属性可以被修改。final 修饰的变量在某种程度上起到了不可变的效果,所以,可以用来保护只读数据,尤其是在并发编程中,因为明确的不能再为 final 变量进行赋值,有利于减少额外的同步开销;
-
修饰方法,final 修饰的方法不能被重写;
-
final 修饰符和 Java 程序性能优化没有必然联系。