Final

  • 用于数据
  • 声明常量
  • 对于基本数据类型为静态,对于其他对象类型为动态(绑定引用,但是被引用的对象是可以修改的)
  • 空白final:

    • 没有初始值的final字段
    • 编译器会确保在使用前进行了初始化
    • 第一次赋值之后就不再可以变化
  • 用于方法

  • 禁止方法被重写
  • (private方法本质上是final的)
  • 向上转型后不能使用同名方法(动态绑定)

  • 用于类

  • 禁止被继承
  • final类的方法自然是final