一、前言
final关键字的含义:
final在Java中是一个保留的关键字,可以声明成员变量、方法、类以及本地变量。一旦你用final修饰,你将不能改变被修饰的代码,编译器会检查代码,如果你试图将变量再次初始化的话,编译器会报编译错误。
二、分类
1、final变量
凡是对成员变量或者本地变量(在方法中的或者代码块中的变量称为本地变量)声明为final的都叫作final变量。final变量经常和static关键字一起使用,作为常量。final变量是只读的。
2、final方法
方法前面加上final关键字,代表这个方法不可以被子类的方法重写。如果你认为一个方法的功能已经足够完整了,子类中不需要改变的话,你可以声明此方法为final。final方法比非final方法要快,因为在编译的时候已经静态绑定了,不需要在运行时再动态绑定。eg:
3、final类
使用final来修饰的类叫作final类。final类通常功能是完整的,它们不能被继承。Java中有许多类是final的,譬如String,Interger以及其他包装类。eg:
三、总结
final关键字的作用:
final修饰基本类型常量,不可以第二次赋值;修饰弓|用类型常量不可以第二次修改指向。(因为复杂类型, 它的值可以改变)
final修饰的类不可以被继承。
final修饰的方法不可以被重写。
final保障多线程下线程可见性,防止指令重排序。