HEAD
final 表示不可变的,C++对应的是 const
java 语言规定实例变量使用 final 修饰之后,必须手动赋值,不能采用系统默认值
final int age;
=======
修子的日记 目录
final修饰符
# final
final 表示不可变的,C++对应的是 const
# 加 final 的实例变量
java 语言规定实例变量使用 final 修饰之后,必须手动赋值,不能采用系统默认值
final int age;
>>>>>>> 593e4ea (添加了SSM)
会出错
正确的写法是
方法 1:
final int age=10;
或者
方法 2:
final int age;
public Panda(){
this.age=10;
}
方法 1 看上去是提前赋值,其实也是等到构造方法执行时才真正赋值
本质上方法 1 和方法 2 是一样的
# final 与垃圾回收
final 修饰的引用,一旦它指向了一个对象之后
它就不能再指向别的对象了(无 final 的情况下,我们也一般不让引用指向别的值),被指向的对象无法被垃圾回收器回收
等到 JVM 细说