1. 程式人生 > >final類和方法

final類和方法

final類可以用於阻止繼承,防止人們利用這個類的子類。標準形式如下:

public final class Teacher extends Person{

}

類中特定方法也可以被宣告為final,子類就不能覆蓋這個方法(final中的所有方法自動地成為final方法)。

public final class Teacher extends Person{
        public final String getName(){
        
        }
}

 將一個類宣告為final,只有其中的方法自動的成為final,而不包括域。

方法或類宣告為final主要目的是:確保它們不會在子類中改變語義。例如,Calendar 類中的getTime和setTime方法都宣告為final。這表明Calendar類的設計者負責實現Date類與日曆態之間的轉換,而不允許子類處理這些問題。同樣地,String類也是final類,這意意味著不允許任何人定義String的子類。換言之,如果有二個string的引用,它引用的一定是個String物件,而不可能是其他類的物件。