共三个场合可以使用final关键字,可以用在变量、方法和类前,
1.final可以在变量前时,有两层意思:
1>:表示一个编译期间的常量(c++中用const来实现)
2>:表示一个变量一旦初始化了,其值就不能被改变了
fianl如果用在基本数据前,则说明这个数据不能再被改变;
如果用在一个对象(包括数组)的reference上,则说明这个reference不能再指向另一个reference(但是对象本身是可以被改变的)。
final成员必须在声明时(在final变量定义时直接给其赋值)或者在构造函数中被初始化,而不能在其它的地方被初始化。
另外也可以有static 的final变量,这个时候它占据一个无法修改的内存!
另外不能有空白的static final 变量,声明时必须给出其初值!
对于final变量java解释器都不提供初值!
2.final用在方法前时,表示该方法不能被子类重写,
另外private方法默认为final的
3.final用在类前时,表明该类不能被继承,final类中的变量可以选择是否为final变量,
但是其中的方法都默认为final的!