Java fianl关键字的理解
一、fianl的定义
- fianl表示最终的,不可变的
- fianl可以修饰变量以及方法,还有类等
二、fianl修饰变量
1. fianl修饰的变量无法二次赋值
2. 当final修饰的变量是“引用”时
重点:fianl修饰的变量无法二次赋值,引用是一个变量,所以被fianl修饰时也不能二次赋值!
3.fianl修饰实例变量
- final修饰的实例变量,系统不管赋默认值,要求自己手动赋值!!!
- 只要在系统赋默认值之前赋值就不会报错,因为只有在构造方法执行后才初始化实例变量,
- 所以可以在构造方法体内赋值
- 实例变量既然使用final修饰,说明该实例变量不会随着对象的改变而改变
该实例变量前应该加:static关键字,变为静态的,存储在方法区,节省内存空间
常量和静态变量的区别:
- 常量的值不能变!
- 但两者都是存储在方法区,并且是在类加载时初始化!
结论:
static final联合修饰的变量称为“常量”, 常量名建议全部大写,每个单词之间用下划线衔接。三、final修饰方法
final修饰的方法无法覆盖(重写)
四、final修饰类
B类继承A类,相当于对A类的功能进行扩展,如果不想别人对A类进行扩展
可以使用final关键字修饰A类,这样A类就无法继承了