final 关键字

Posted by 298 on June 8, 2020

final 关键字可以用来修饰类,方法,和变量。

  1. 修饰类

    当你使用fianl修饰一个类的时候,表明这个类不能被继承。fianl类中的所有成员方法都会被隐式的指定为final方法。

  2. 修饰方法

    使用final方法的原因有两个。一是把方法锁定,以防止任何继承类修改它的含义;二是效率原因。在早期的java版本中,会讲final方法转为内嵌调用。但是如果方法过于庞大,可能看不到内嵌调用带来的任何性能提升。在最近的Java版本中,不需要使用final方法进行这些优化了。

    所以,只有在明确禁止该方法在子类中被覆盖的情况下才讲方法设置为final。

    类的private方法会隐式的被指定为final方法。

  3. 修饰变量

    对于一个final变量,如果是基本数据类型的变量,则其数值一旦在初始化后便不能在做修改。如果是引用类型的的变量,则在对其初始化后便不能在让其指向另一个对象。