楔子

  • final 的核心就是,被final修饰的东西都不能改变

正文

修饰类

  • 这个类不能有任何子类
  • 一个类如果是final的,其中所有的成员方法都不能被覆盖重写,但是里面可以覆盖重写他的父类的方法

    修饰方法

  • 当final 修饰一个方法,这个方法就是最终方法不能够被覆盖重写

  • 对于类,方法来说abstract和final关键字不能同时使用

    修饰变量

    局部变量

  • 一旦用final来修饰局部变量,那么这个变量就不能进行更改

    • 对于基本类型,变量不变是数据不可改变
    • 对于引用类型,变量不变是地址不可改变,内容可以改变

      成员变量

  • 由于成员变量有默认值,所以用了final之后必须手动赋值,不会再给默认值了

  • 对于final的成员变量,要么使用直接赋值,要么通过构造方法赋值
    • 必须保证类当中所有的重载的构造方法,都最终会对final的成员变量进行赋值