final修饰符用来修饰类、类中的属性、类中的方法;
当final修饰类的时候:
表示该类是无法被继承的,也就意味着该类的设计已经被认为很完美而且不需要进行修改或者扩展;
当final修饰类中的属性:
表示该属性一旦被初始化便不可更改,即对基本类型来说是其值不可变,而对于对象属性来说其引用不可再变;而初始化则可以在两个地方:一个是在其定义处,也就是说在final属性定义时直接给其赋值;二是在构造函数中。这两种方式只能选其一,要么定义时给值要么在构造函数中给值,不能同时在定义时给值又同时在构造函数中赋予另外的值。
当final修饰类中的方法:
表示这种方法提供的功能已经满足当前需求,不需要进行扩展,并且不允许任何从此类继承的类来重写这种方法,但是继承仍然可以继承这个方法,也就是说可以直接使用。在声明类中,一个final方法只能被实现一次。