多型方法重寫

2021-09-20 07:02:12 字數 994 閱讀 2071

多型:指的是一種事物,在不同時刻所表現出來的不同狀態

貓是型別,貓也是一種動物

多型的前提:1.要有繼承關係

2.要有方法重寫,當然不重寫也可以,但是沒有太大意義

3. 多型 就是 父類引用指向子類物件

public class mytest
class animal 

}class dog extends animal

}

zi zi = new zi();

system.out.println(zi.num);

多型的形式訪問成員變數的特點

編譯看左邊,執行也看左邊

fu fu=new zi();//父類引用,指向子類物件

system.out.println(fu.num);

多型的形式訪問成員方法的特點,編譯看左邊,執行看右邊

public class mytest3 

}class fu

public static void test2()

}class zi extends fu

public void test()

public static void test2()

}

方法重寫:當子類**現了和父類一模一樣的方法時(方法名,引數列表,返回值型別都一樣),那麼這個時候就會發生方法重寫,我們在呼叫方法時,就會以子類重寫過後的方法為準

為什麼要有方法重寫,子類有的時候對父類的方法實現並不滿意,他並不想要原封不動的繼承下來,而是想要自己實現功能邏輯,或者說,他想要在父類的方法基礎之上擴充套件一些自己的功能,那麼這個時候他可以使用方法重寫。

public class mytest 

}class fu

}class zi extends fu

public void show()

}

方法重寫和多型

我們可以發現在繼承後,子類都缺失了自己特有的方法,只有從父類繼承下來的方法,所以為了即擁有從父類繼承的屬性和方法外 遺產 自己也需要有自己的方法 自己的資產 聯想到顯示中的例子 新的帝王繼承王位,覺得制度不好,為了勵精圖治一般會重新設定新的制度。子類根據需求對從父類繼承的方法進行重新編寫。編寫時,可...

方法重寫與多型

方法的重寫 子父類出現了一模一樣的方法 注意 返回值型別可以是子父類 子類根據需求對從父類繼承的方法進行重新編寫 重寫時,可以用super.方法的方式來保留父類的方法 構造方法不能被重寫 在繼承的情況下,子類的方法滿足以下條件 1 方法名相同 2 引數列表相同 3 返回值型別相同,或者是父類返回值型...

方法重寫與多型

當從父類繼承的方法不能滿足子類的需要時,可以在子類中對這一方法進行重寫 覆蓋 以符合需求。重寫方法和被重寫的方法必須具有相同的方法名 重寫方法和被重寫方法引數列表相同 重寫方法的返回值型別和父類的返回值型別是同類或者是子類 重寫方法不能縮小被重寫方法的訪問許可權,public class depar...