final变量

final关键字定义的变量必须在声明时对其进行赋值操作。
final除了可以修饰基本数据类型 的常量还可以修饰对象引用,由于数组可以被当做一个对象来引用,所以final也可以修饰数组。
一旦一个对象引用被修饰为final时,只能恒定指向一个对象,无法将其改变以指向另一个对象。
被定义为final的对象引用只能指向唯一一个对象,但是对象的值是可以改变的,为了使一个常量真正做到不可改变,可以将常量声明为static final

final方法

定义为final的方法不可以被重写。将方法定义为final类型可以防止之类修改该类的定义与实现方式,同时定义为final的方法的执行效率要高于非final方法。

final类

定义为final的类不能被继承,如果一个类被定义为final形式,则类中的所有方法都被隐式设置为final形式,到那时final类中的成员变量可以被定义为final或非final形式