-
為什么使用上轉型?因為當一個父類有很多子類,子類都重寫了父類的方法并加以使用。這時候,如果要在之前代碼讓你用其他子類來實現,就變得很簡單,只需要把A a = new B();換成A a = new C();(假設B和C都繼承了A),其他只要重寫父類方法屬性之類的無需改動。(當然這只是向上轉型的重要一點,還有其他好處,不列舉)
-
為什么要向下轉型?因為當我們拿到一個父類,我們想把它當作我們需要的具體類時,可以盡情地用到我們要的類的所有方法屬性,這時候當然需要向下轉型,以便更多使用子類它獨有的方法屬性,但要確保一定能向下轉型成功,不然出大錯。