1、修饰类
当类用final修饰时,表明这个类不能被继承。当我们出于安全或某种情况考虑,不想让你写的class被继承,就可以考虑使用final。
final class Cat{ public Cat(){ }}
2、修饰方法
使用final关键字修饰方法,其它类就不可以修改该方法。在早期的Java实现版本中,会将final方法转为内嵌调用。但是如果方法过于庞大,可能看不到内嵌调用带来的任何性能提升。在最近的Java版本中,不需要使用final方法进行这些优化了。要想方法在子类中不被覆盖,就是使用final关键字修饰方法。类的private方法会隐式地被指定为final方法。
3、修饰变量
final关键字修饰变量是用得比较多的情况,对于一个final变量,如果是基本数据类型的变量,则其数值一旦在初始化之后便不能更改;如果是引用类型的变量,则在对其初始化之后便不能再让其指向另一个对象。
class Cat{ private final int age = 0; public Cat(){ age = 1; final Object obj = new Object(); obj = new Object(); }}
代码中,变量age和obj的重新赋值都报错了。使用时应该注意。
修饰的变量是类或引用类型变量时,要注意只是这个变量指向对象不能更改,但对象中内容是可以修改的。