關于繼承的一些了解
JAVA具有四大特性:封裝,繼承,抽象,多态。
類的繼承是指在一個現有類的基礎上建構一個新類,建構出的這個類被稱作子類,現有類被稱為父類,子類會自動擁有父類所有可繼承的屬性和方法。子類對父類的繼承使用extends關鍵字。繼承的用處在于在避免冗長的重複代碼的同時,讓子類可以調用父類的方法、屬性。應該注意的是,也是最基礎的,子類可以調用父類,而父類不能調用子類。
繼承有幾種類型:預設,public、protected,private。在一個檔案名中隻能有一個public類型,并且public類名須與檔案名相同。public類型可以被目前類,目前包,包部子類和外部包繼承;protected為受保護類型,較比public類型來說,protected類型不能被外部包繼承;預設類不書寫任何關鍵字,它可以被目前包和目前類調用;private類型作為一個私有類型,隻能為目前類所用。
下面整理成表,友善了解:
目前類 | 目前包 | 包外子類 | 外部包 | |
public | √ | √ | √ | √ |
protected | √ | √ | √ | |
private | √ | |||
預設 | √ | √ |
final關鍵字:
final關鍵字可用來修飾類、變量和方法,具有“無法改變”或者“最終”的含義,被final修飾的類、變量和方法具有以下屬性:
①final修飾的類不能被繼承。(即不能夠派生子類)
②final修飾的方法不能被子類重寫。
③final修飾的變量(成員變量和局部變量)是常量,隻能被指派一次。
super關鍵字:
當子類重寫父類的方法後,子類對象将無法通路父類被重寫的方法發,這時候就會用到super關鍵字,用其來通路父類的成員。例如通路父類的成員變量、成員方法和構造方法。
下面介紹下super關鍵字調用父類的成員變量和成員方法。super關鍵字使用格式如下:
super.成員變量
super.成員方法([參數1,參數2,...])
使用super關鍵字調用父類的構造方法:格式如下:
super([參數1,參數2,...])
關于重寫父類方法:
在繼承關系中,子類會自動繼承父類中定義的方法,但有時在子類中要對內建的方法進行一些修改,即重寫。需要注意:子類中重寫的方法要和父類被重寫的方法具有相同的方法名、參數清單以及傳回值類型。