Java多態(tài)是指對象在運行時能夠根據(jù)實際類型執(zhí)行不同的操作,而不必改變代碼的實現(xiàn)。比如一個父類可以定義一些基本的方法和屬性,再由其子類繼承這些方法和屬性,可以使用父類來定義子類即可。這種繼承關(guān)系的存在以及子類可以重寫父類的某些方法的行為,就為多態(tài)提供了基礎(chǔ)。
Java多態(tài)的應(yīng)用
一個常見的Java多態(tài)應(yīng)用是在接口使用。接口定義了一組方法和屬性,而不需要去實現(xiàn)。接口的實現(xiàn)類就必須實現(xiàn)這些方法和屬性。接口和實現(xiàn)類之間的關(guān)系正是Java多態(tài)的一個經(jīng)典的表現(xiàn)。接口的使用,是在不同的情況下能夠?qū)Σ煌膶ο笞龀鱿鄳?yīng)的動作,而不需要知道對象是什么類型。
能夠使用父類方法的優(yōu)勢
使用Java多態(tài)的另一個好處是可以重用代碼,減少重復(fù)代碼。Java多態(tài)的特性可以讓代碼更簡單易懂,便于修改和升級。因為Java多態(tài)只關(guān)注對象的行為,而不關(guān)心對象的類型,所以可以用一種父類方法來實現(xiàn)所有子類的共同操作,這樣即使我們增加了新的子類,也不需要修改原有代碼。