由于继承中方法有一个现象:方法重写。所以,父类的功能就会被子类给覆盖掉,有些时候, 我们不想让子类去覆盖掉父类的功能,只能让他使用。这时候,针对这种情况,java 提供了 fina l 关键字。
final 关键字
final: 最终的意思。常见的是它可以修饰类,方法,变量。特点:
final:可以修饰类,被 final 修饰的类不能被子类继承。
final:可以修饰方法,父类中被 final 修饰的方法不能被子类覆写(重写、覆盖)
final:可以修饰变量,该变量不能被重新赋值。因为这个常量其实是常量。
final 修饰局部变量的问题:
局部变量是基本类型:基本类型的值不能发生改变。
局部变量是引用类型:引用类型的地址值不能发生改变,但是该对象的堆内存的值是可以改 变的。
final 修饰变量的初始化时机:
A:被 final 修饰的变量只能赋值一次。
B:在构造方法完毕前(非静态的常量)