| "final"
關鍵字可以使用在變數宣告時,表示該變數一旦設定之後,就不可以再改變該變數的值,例如在下面的程式碼中,PI這個變數一旦設定,就不可以再有指定值給
PI的動作: final
double PI = 3.14159;
如果在方法成員宣告時使用"final",表示該方法成員在無法被子類別重新定義(Override),例如: public
class Ball {
private double radius; public final double getRadius() { return radius; } // .... } 宣告為private的方法成員,無法被繼承,也就無法被重新定義,自然就是final成員,無需在private的方法成員上另外加上final(雖然這樣作不違反語法)。 如果您在宣告類別時加上"final"關鍵字,則表示要終止被擴充,這個類別不可以被其它類別繼承,例如: public
final class Ball {
// .... } 如果在資料成員上加上final關鍵字,但未給予該資料成員初值,則初值的初始化被延遲,該資料成員必須在建構方法中進行初始化,且初始化之後不得改變其 值,例如: public
class SomeClass {
private final int some; public SomeClass() { some = 10; // 也可以是一個運算式,或是方法的傳回值 } .... } |