Java基礎-----方法重寫的應用
阿新 • • 發佈:2018-12-23
方法重寫和方法過載
方法重寫:子類中出現了和父類中方法宣告一模一樣的方法(包括返回值型別,方法名和引數列表)。
方法過載:本類中出現的方法名一樣,引數列表不同的方法(個數和型別)。與返回值無關。
子類物件呼叫方法的時候
先找子類本身,再找父類。
方法重寫的應用
當子類需要父類的功能,而功能主體子類有自己特有的內容時,可以重寫父類中的方法。這樣即沿襲了父類的功能,又定義了子類特有的內容。
案例
package duixiang; class Phone { public void call(String name) { System.out.println("給" + name + "打電話"); } } class NewPhone extends Phone { public void call(String name) { super.call(name); System.out.println("可以聽天氣預報了"); } } public class Demo1_Chongxie { public static void main(String[] args) { NewPhone np = new NewPhone(); np.call("小明"); } }
執行結果如下:
方法重寫的注意事項
(1)父類中私有方法不能被重寫,因為父類私有方法子類根本就無法繼承。
(2)子類重寫父類方法時,訪問許可權不能更低。
(3)父類靜態方法,子類也必須通過靜態方法進行重寫。其實這個算不上方法重寫,但是現象確是如此,至於為什麼算不上方法重寫,在多型中會體現。
注意:子類重寫父類方法的時候,最好宣告一模一樣。