- final修饰的类不可以被继承,但可以继承其他的类。
- final修饰的方法,子类可以继承但是不能重写。
- 子类重写父类的非final方法可以加上final。
- 被final修饰的基本数据类型或者String类型的变量可以看作是常量,赋值后不能改变。
- 被final修饰的引用数据类型变量的引用内存地址值不能改变,可以改变引用数据类型变量的属性值。
- 被final修饰的普通成员变量必须在对象创建完成前进行赋值,可以直接赋值,如果没有直接赋值则需要用构造方法进行赋值,如果有多个构造方法则多个构造方法都要为其赋值,但是不能用set方法赋值。
- 被final修饰的静态成员变量必须要直接赋值或者静态代码块赋值,否则编译不通过。
- final修饰的成员变量会在编译阶段赋默认值,final固定的是成员变量的手动赋值不是内存中的默认值。
Q.E.D.