final关键字
是最终、不可改变的;
常用四种用法:
(1)修饰类
public final class 类名称{
//…
}
由final关键字
修饰的类:不会有任何的子类(太监类);其中的成员方法不能进行覆盖重写(没儿子)。
(2)修饰方法
修饰符 final 返回值类型 方法名称(参数列表){
//…
}
该方法是最终方法,不可被覆盖重写。对于类与方法,abstract与final关键字
不能同时使用。
(3)修饰局部变量
**基本变量类型**:内容不可变;
**引用数据类型**:地址不可变。
(4)修饰成员变量
除了和修饰局部变量相同的规则外,注意:
**第一:**由于成员变量具有默认值,所以用了fianl关键字修饰之后必须手动赋值,赋值之后不会再给默认值;
**第二:**对于final关键字修饰的成员变量,要么使用时直接赋值,要么通过构造方法赋值,只能用其中一种;
**第三:**必须保证类中所有重载的构造方法,都最终会对final关键字修饰的成员变量进行赋值。