final
总结
- 修饰常量:不可重新赋值
private static final double PI = 3.14 ;
- 修饰类:子类不可继承父类,防止子类重写覆盖父类中方法
- 被修饰的类中方法隐式指定为 final 修饰
private final class String {
}
- 修饰成员方法:方法不可被子类覆盖
- 修饰成员属性
- 必须赋值
- 声明变量时赋值
- 构造方法内赋值
- 静态成员属性可在
static{}
方法块内赋值
- 变量类型
- 基本数据类型:一旦赋值不可更改
- 引用数据类型:引用对象的指向不可更改,但引用对象本身可以改变
- 必须赋值
// user 不可指向其他对象
final User user = new User();
// 但 User() 对象的属性可以修改
- 修饰方法形参:在方法内部此参数不可重新赋值
- 修饰范围:类中构造方法不可被final修饰
- 引申使用:类中private方法隐式指定为final修饰