java学习日记20230324-final关键字

发布时间 2023-03-24 22:10:28作者: 、子夜

final可以修饰类,方法,属性和局部变量

  • 当不希望类被继承时,用final修饰类
  • 当不希望父类某个方法被子类重写时,使用final
  • 当不希望某个属性值被修改时
  • 当不希望某个局部变量被修改时

final使用注意事项和细节:

  • final的属性又叫常量,一般XX_XX命名;
  • final的属性在定义时,必须赋予初始值,并且以后不能修改,赋值可以在如下位置:
    • 定义时;
    • 构造器;
    • 代码块;
  • 如果final修饰的属性时static,则初始化的位置只能是:
    • 定义时;
    • 在静态代码块,不能在构造器中赋值;
  • final类不能继承,但是可以实例化对象;
  • 如果类不是final类,但是含有final方法,则该方法虽然不能被重写,但是可以被继承
  • 一般来说,如果一个类已经是final类,就没有必要再将方法修饰为final
  • final不能修饰构造方法
  • final和static往往配合使用,效率更高,底层编译器做了优化处理
  • 包装类(Integer,Double,Float,Boolean都是final),String也是final类
  •