天天看點

Java面向對象筆記(十一)重寫、覆寫

一、概念

當子類出現和父類一模一樣的函數時,當子類對象調用該函數時會執行子類的函數,這叫做重寫(覆寫)。

二、應用

當子類具備和父類相同的功能,而功能的内容不同時,這時沒必要定義新的功能了,可以直接重寫(覆寫)即可。

三、注意

①子類覆寫父類,必須保證子類權限大于等于父類權限,才可以覆寫。

②靜态隻能覆寫靜态。

③重載:隻看同名函數的參數清單

重寫:子父類方法要一模一樣(方法傳回值類型,方法名,參數清單相同,權限修飾符可以不同,但是必須保證第①條)

四、案例

//定義一個Animal類描述動物的共性
class Animal {
	private String name;

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}
	
	public void eat(){
		System.out.println("動物吃飯....");
	}
	protected void sound(){
		System.out.println("動物的聲音....");
	}
}
//Cat類繼承Animal類
class Cat extends Animal {	
	public void eat(){  //重寫父類eat()方法
		System.out.println("貓吃魚");
	}
	public void sound(){ //重寫父類sound()方法
		System.out.println("喵喵喵");
	}
	public void showCat(){
		System.out.println("I am a cat");
	}
}