final关键字表示的不可变的,用于修饰类、方法、属性。
- final修饰类:修饰类当用final去修饰一个类的时候,表示这个类不可被继承。
- 因为final修饰的类不可被继承,所以其中的方式被隐式指定为final方法。
- 一般将工具类设置为final。
- final修饰方法:被final修饰的方法子类不能重写。
- 提高程序执行的效率:将一个方法设成final后,编译器就会忽略为执行方法调用机制而采取的常规代码插入方法。
- private方法都自动成为final,因为private方法不会被继承,所以永远不会被重写。
- final修饰变量:必须要赋初始值,而且是只能初始化一次。
- 修饰基本类型变量:数值不可改变。
- 修饰引用类型变量:引用的对象不可改变,对象的值可以改变。
改变引用对象时编译出错:
此图可以看出,虽然引用的对象不可改变,但是引用对象的值可以改变。