final
- 两种理由:设计和效率
- -许多编程语言都有某种方法,来向编译器告知一块数据是恒定不变的。有时数据的恒定不变是很有用的,比如:
- 一个永不改变的编译时常量
- 一个在运行时被初始化的值,而你不希望它被改变。
- final static基本类型全用大写字母命名。
-
空白final
空白final是指被声明为final但又未给定初值的域
public class BlankFinal {
private final int i;
public BlankFinal() {
i = 1;
}
}
必须在域的定义处或者每个构造器中用表达式对final进行赋值
- final方法:禁止方法覆盖时,可以用final。
- final类:不允许继承,不允许做任何变动
- 只有非private方法才可以被继承。
网友评论