final修饰符

final关键字可用于修饰类,变量和方法,用于表示不可改变的意思
final修饰变量时,代表该变量一旦获得了初始值就无法被重新赋值

final修饰成员变量

对于final修饰的成员变量,如果没有指定初始值的话,那么成员变量的之将一直是系统默认的0,false或null等,就没有了意义,所以final修饰的成员变量必须由程序员显式的制定初始值
类变量:必须在静态初始化块种指定初始值或在声明类变量的时候,必须其一指定
实例变量:必须在非静态初始化块,声明实例变量或构造器种,必须三个之一指定
如果打算在构造器或初始化块中对final成员变量初始化,则不要在初始化之前去访问,不然会被系统设置默认值

局部变量

系统不会对局部变量初始化,所以必须显式初始化

final修饰基本类型变量和引用类型变量

final修饰基本类型变量,不能对基本类型变量重新赋值,因此基本类型变量不能改变,但是相对于引用类型而言,保存的仅仅是一个引用,final之保证这个引用类型变量的地址不变,但对象仍然可以改变

final方法

final修饰的方法不可被重写

final类

final修饰的类不能有子类