第十三題
講解人:張小龍 ??? 8.23
郵箱:2304940425@qq.com
?
一.什么是final?
final是java中的一個關鍵字,可以用來修飾變量、方法和類。用關鍵詞final修飾的域成為最終域。用關鍵詞final修飾的變量一旦賦值,就不能改變,也稱為修飾的標識為常量。如果一個類的域被關鍵字final所修飾,它的取值在程序的整個執行過程中將不會改變。
(關于final的具體解釋,詳細請瀏覽文檔Java面試題第4題)
二.Java抽象類
1.在面向對象的概念中,所有的對象都是通過類來描繪的,但是反過來,并不是所有的類都是用來描繪對象的,如果一個類中沒有包含足夠的信息來描繪一個具體的對象,這樣的類就是抽象類。
2.抽象類除了不能實例化對象之外,類的其它功能依然存在,成員變量、成員方法和構造方法的訪問方式和普通類一樣。
3.由于抽象類不能實例化對象,所以抽象類必須被繼承,才能被使用。也是因為這個原因,通常在設計階段決定要不要設計抽象類。
4.父類包含了子類集合的常見的方法,但是由于父類本身是抽象的,所以不能使用這些方法。
5.在Java中抽象類表示的是一種繼承關系,一個類只能繼承一個抽象類,而一個類卻可以實現多個接口。
(關于抽象類的具體解釋,詳細請瀏覽文檔Java面試題第12題)
三.抽象類能使用 final 修飾嗎?
不能,因為抽象類的就是要子類繼承然后實現內部方法的。而final是最終類,final修飾的類是不能再被繼承和修改的。如果放在一起將會相互矛盾,語法錯誤,編譯也不會通過,所以不能用final修飾。
END