final類

final是java中的一個關鍵字,可以用來修飾變數、方法和類。用關鍵字final修飾的域成為最終域。用關鍵字final修飾的變數一旦賦值,就不能改變,也稱為修飾的標識為常量。如果一個類的域被關鍵字final所修飾,它的取值在程式的整個執行過程中將不會改變。 假如說整個類都是final,就表明自己不希望從這個類繼承,或者不答應其他任何人採取這種操作。換言之,出於這樣或那樣的原因,我們的類肯定不需要進行任何改變;或者出於安全方面的理由,我們不希望進行子類化(子類處理)。 除此以外,我們或許還考慮到執行效率的問題,並想確保涉及這個類各對象的所有行動都要儘可能地有效。

舉例

如下所示:

class SmallBrain {}

final class Dinosaur

{

int i = 7;

int j = 1;

SmallBrain x = new SmallBrain();

void f() {}

}

public class Jurassic

{

public static void main(String[] args)

{

Dinosaur n = new Dinosaur();

n.f();

n.i = 40;

n.j++;

}

}

注意數據成員既可以是final,也可以不是,取決於我們具體選擇。套用於final的規則同樣適用於數據成員,無論類是否被定義成final。將類定義成final後,結果只是禁止被繼承——沒有更多的限制。然而,由於它禁止被繼承,所以一個final類中的所有方法都默認為final。因為此時再也無法覆蓋它們。所以這與我們將一個方法明確聲明為final一樣。

可為final類內的一個方法添加final指示符,但這樣做沒有任何意義。

相關詞條

相關搜尋

熱門詞條

聯絡我們