1.final修饰class。代表限制继承,即该类为最终类,不可以被继承,位于继承结构的最底端,相当于叶。其所有方法默认为final。
2.final修饰方法,代表该方法不可以被覆盖(Override)。
3.final修饰变量。代表该变量只能被赋值一次。
如果final 和 static 同时修饰变量,那么该变量必须在定义的同时进行赋值。
如果final不和static 组合,那么在定义变量时可以将赋值的任务交给构造方法来完成。
4.final 不能修饰 interface,想一想,如果interface不能被实现,那么定义interface还有什么意义?
5.final 不能同时和abstract一起修饰class,理由和第4点相似。因为抽象类本来就是希望让子类来继承。
6.final 修饰方法的参数时,该参数在生命周期范围内(方法体)不能被修改。(包含原始类型和引用类型)
7.final 不能同时和abstract 修饰方法,理由4,5。
8.final 不能修饰构造方法