重寫子類方法是,徹底覆蓋掉從父類繼承而來的方法。(想想不覆蓋會出現什麼結果?)
之所以覆蓋掉父類中的某些方法,完全是因爲從父類繼承而來的這個方法不是很合適之類,所以重寫這個方法後,就能夠屏蔽從父類繼承而來的這個方法。還有一點想說的就是重寫方法後,還有利於多態。
重寫的要求
1,子類方法名,參數類型和個數,返回值類型(5.0以後允許返回父類)要相同。
2,訪問權限修飾符可以改,但不能夠變小。
3,拋出異常不能夠變大。
重寫的代碼:
public class Sub extends Super{
public String getColor(){
return super.getColor()+"變成blue"; //子類從父類繼承而來的方法從寫後,子類還能夠使用super關鍵字來調用父類的方法
}
public static void main(String[] args){
Sub s = new Sub(); //創建子類對象s
System.out.println(s.getColor()); //調用子類的方法並且重寫打印
System.out.println();
Super su = new Super(); //創建父類對象su,就可以調用父類的方法,與子類重寫方法無關係
System.out.println(su.getColor());
}
}
public class Super {
String getColor(){
return "red";
}
}