(1)修饰一个类,格式:
public final class 类名称{ }
含义:表示这个类不能有任何子类,即不能被继承。
注意:final类中的所有方法都不能被覆盖重写。
(2)修饰一个方法,格式:
修饰符 final 返回值类型 方法名称(参数列表){}
含义:该方法为最终方法,不能被覆盖重写。
注意事项:对于类、方法而言,abstract和final关键字不能同时使用,因为抽象方式是用来被重写的,但是final方法不能被重写。
(3)修饰一个局部变量,格式:
final 数据类型 变量名 = 初始化值;
含义:一旦被final修饰,这个变量初始化后值就不能发生改变。对于基本数据类型是【值不可变】;对于引用数据类型是【地址值不可变】,但是地址中的值可以发生改变。
(4)修饰一个成员变量,格式:
final 数据类型 变量名 = 初始值;
含义:一旦被final修饰,这个变量初始化后值就不能发生改变。
注意事项:
(1)对于成员变量,会有默认赋值,但是一旦被final修饰以后,该成员变量就不会默认赋值。
(2)对于final修饰的成员变量,要么使用直接赋值,要么通过构造方法赋值,二者选其一。
(3)必须保证类中所有重载的构造方法,都最后会对final修饰的成员变量完成赋值。