final
- 兩種理由:設(shè)計和效率
- -許多編程語言都有某種方法,來向編譯器告知一塊數(shù)據(jù)是恒定不變的。有時數(shù)據(jù)的恒定不變是很有用的,比如:
- 一個永不改變的編譯時常量
- 一個在運行時被初始化的值,而你不希望它被改變。
- final static基本類型全用大寫字母命名。
-
空白final
空白final是指被聲明為final但又未給定初值的域
public class BlankFinal {
private final int i;
public BlankFinal() {
i = 1;
}
}
必須在域的定義處或者每個構(gòu)造器中用表達式對final進行賦值
- final方法:禁止方法覆蓋時,可以用final。
- final類:不允許繼承,不允許做任何變動
- 只有非private方法才可以被繼承。