final的英文意思是最终的,在Java里可以理解为不可以改变的
final属性
用final关键字声明的变量只能一次性赋值,不能改变,其实应该叫做常量了。相当于C++中const关键字
应该注意的一点是,final声明的引用(如对象和数组)中,引用指针不能改变,也就是说,引用指针只能一次性指向一块内存,以后不能再指向别的内存块,但是并不关心内存块内是否有所变化
如:
final MyClass c = new MyClass();
我们知道,c是引用类型,在这里,c指向new MyClass();这件事情是不可以改变的,但是 new MyClass();内部想怎么变化就怎么变化,我们就管不着了
final方法
用final声明的方法不能被子类重写,更不能动态绑定
编译器会把final方法当作inline调用品
final类
用final声明的类不能被继承