final修饰类,变量,方法
修饰变量,表示该变量是(不一定唯一),不可改变。
1)编译器常数,永远不会改变;
2)在运行期初始化的一个值,我们不希望发生变化
static final 基本数据类型 :唯一的一个,常数。变量名必须大写。
final 随机生成数(可变常数)
final方法
1)防止任何继承类改变它;2)执行效率。
明确禁止方法被覆盖时候才考虑将方法final;
类内所有private方法都自动成为final。因为我们不能访问一个private方法,所以它绝对不会被其他方法覆盖。可为一个private方法添加final指示符,但是没有任何额外的含义。
fianl类 如果说类final,表明不能从该类继承,或者处于安全方面的理由,不希望子类化。
或者考虑到执行效率的问题,并想这个类各个对象所有行动尽可能有效。
此时数据成员是不是final都无所谓,因为该类已经禁止继承,该类的方法无法被覆盖,编译器会有同样的效率选择。
如果一个类被声明为final,其中的方法自动为final,变量不是。