繼承過程中final的用法

2021-08-21 15:21:40 字數 703 閱讀 8456

有時候,可能希望阻止人們利用某個類定義子類。不允許擴充套件的類被稱為final類。如果再定義類的時候使用了final修飾符就表明這個類是final類,例如:假設希望阻止人們定義exployee類的子類,就可以在定義這個類的時候,使用final修飾符來宣告。宣告格式如下所示:

public final class exective extends manager

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

public class employee

...}

注釋:前面曾經說過,域也可以被宣告為final 。對於final 域來說,構造物件之後就不允許改變他們的值了,不過,如火箭乙個類宣告為final ,只有其中的方法自動的成為final 而不包括域

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

繼承過程中對函式中this的認識

1 doctype html 2 html lang en 3 head 4 meta charset utf 8 5 title document title 6head 7 body 8 script 9vara 14 15varb 20varc 25var ww b.cc 30 26var w...

繼承過程中建構函式的執行順序

基類一定要寫預設建構函式 無引數的建構函式 因為無法預見派生類的物件是否呼叫預設建構函式。如果派生類物件呼叫預設建構函式,則構造基類物件時只能呼叫預設建構函式,如果不寫,將會出錯。建構函式和析構函式均不被繼承。建構函式的呼叫順序 1 基類建構函式,按照被繼承時宣告的順序 2 成員物件初始化,按照類中...

Java中final的用法

final類不能被繼承,沒有子類,final類中的方法預設是final的。final方法不能被子類的方法覆蓋,但可以被繼承。final不能用於修飾構造方法。final成員變數表示常量,只能被賦值一次,賦值後值不再改變。1 final類 final類不能被繼承,因此final類的成員方法沒有機會被覆蓋...