方法的覆蓋和多型
阿新 • • 發佈:2022-05-13
/*
當前程式存在的問題(設計上的問題)????
鳥兒在執行move()方法的時候,最好輸出的結果是:“鳥兒在飛翔”,
但是當前的程式在執行move()方法的時候輸出的結果是:“動物在移動!!”,
很顯然Bird子類從Animal1父類中繼承過來的move()方法已經無法滿足子類的業務需求。
*/
public class OverrideTest01 {
public static void main(String[] args) {
//建立鳥物件
Bird b=new Bird();
//讓鳥移動
b.move();
//建立Cat型別物件
Cat1 c=new Cat1();
c.move();
}
}
//父類
class Animal1{
//移動
public void move(){
System.out.println("動物在移動!!");
}
}
//子類
class Bird extends Animal1{
//子類繼承父類中,有一些“行為”可能不需要改進,有一些“行為”可能面臨著必須改進。
//因為父類中繼承過來的方法已經無法滿足子類的業務需求。
//鳥兒在移動的時候希望輸出鳥兒在飛翔!!!!!
}
class Cat1 extends Animal1{
//貓在移動的時候,我希望輸出:貓在走貓步!!!!!
}