final关键字有哪些作用?
**修饰类**
final修饰类时,类不能被继承,并且类中的所有方法都被隐式地使用final修饰。
**修饰方法**
final修饰方法时,有两个作用:
方法不能被子类重写。
可以让方法转换为内联调用,提升效率。(早期的Java版本是这样,最近的版本已经没有这些优化了,因为如果方法过大时,内嵌调用无法带来性能提升。)
**修饰变量**
final修饰的变量一旦初始化,就不能被修改。当final修饰实例变量时,可以在在定义变量时赋初值,也可以在定义时不赋值,在动态代码块,或构造器中赋初值。(只能赋值一次)。
如果final变量在声明时就指定了初始值,并且在编译时可以确定下来,那么在编译时,final变量本质上会变成一个宏变量,所有用到该变量的地方都直接替换成该变量的值。
公众号进入网站体验更佳

