1. 程式人生 > >Java基礎-----方法重寫的應用

Java基礎-----方法重寫的應用

方法重寫和方法過載

方法重寫:子類中出現了和父類中方法宣告一模一樣的方法(包括返回值型別,方法名和引數列表)。

方法過載:本類中出現的方法名一樣,引數列表不同的方法(個數和型別)。與返回值無關。

子類物件呼叫方法的時候

先找子類本身,再找父類。

方法重寫的應用

當子類需要父類的功能,而功能主體子類有自己特有的內容時,可以重寫父類中的方法。這樣即沿襲了父類的功能,又定義了子類特有的內容。

案例
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)父類靜態方法,子類也必須通過靜態方法進行重寫。其實這個算不上方法重寫,但是現象確是如此,至於為什麼算不上方法重寫,在多型中會體現。

注意:子類重寫父類方法的時候,最好宣告一模一樣。