final_听韩顺平课笔记

1.final基本使用

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

2.final使用细节1

final属性(常量)必须赋初始值,可以在以下三个位置赋初始值:

  • 定义时
  • 在构造器中(final修饰的属性是静态的,则初始化位置不能是构造器)
    原因:static修饰属性,在类加载时就要赋值,构造器是在对象创建时才触发
  • 在代码块中

疑问:final不会有默认值吗?(因为final不能被修改,所以必须要赋初始值)

final类不能继承,但是可以实例化

如果类不是final类,但是含有final方法,则该方法虽然不能重写,但是可以被继承(可以使用父类的final方法)

3.final使用细节2

  • 不能被继承的类中的方法肯定是不能被重写的,因此final修饰的类中的方法,不需要使用final关键字
  • final不能修饰构造器
  • final和static搭配使用效率更高,不会导致类加载,仅仅使用类变量,而不希望类加载的情况(底层编译器做了优化处理)
  • 包装类,包括String都是final类,不能被继承

4.final练习

形参可以用final修饰,final修饰的形参不可改变

posted @ 2021-09-11 14:46  CH0701  阅读(79)  评论(0)    收藏  举报