final关键字在Java中有三种作用:

1、用于创建一个已命名常量的等价物。

2、阻止重写。

当调用一个小的final方法时,通常Java编译器可以通过调用方法的编译代码直接内嵌来备份子例程的字节码,这样消除了与方法调用有关的昂贵的开销。内嵌仅仅是final方法的一个选项。正常情况下,Java运行时动态在解析对方法的调用,这称为后期绑定(late binding)。然而由于final方法不能重写,所以对它的调用可以在编译时解决,这称为早期绑定(early binding)。

3、阻止继承。