final可以用来修饰变量、方法和类。
final修饰的类称为最终类或终止继承类。
final修饰的成员变量称为常量。
final修饰的成员方法称为最终方法或禁止覆盖方法。
- final变量
用final修饰的成员变量将自动成为常量,这类常量只能被初始化一次,以后不再允许被改变。
a.对于基本数据类型的常量而言,其值不可被改变。
b.对于引用类型的常量而言,其引用不可被改变。 - final方法
被final修饰的方法能够被子类继承,但不允许被子类覆盖/重写,也不允许被子类扩展。 - final类
a.被final关键字修饰的类就被定义为final类,称为最终类。
b.类一旦被定义为final类,它的所有成员方法都自动成为final方法。如果一个类的所有成员都被声明为final类型,该类也就成为一个final类。
c. final类不允许被其他类所继承,即final类没有子类,处于继承链的尾部。
d. final类的方法也不能被覆盖。
final数据和final类不同,final数据指常量,即其值一旦初始化,就不能改变,而final类则指不能被其他类所继承的类。