Java中的多態分為動態多態和靜態多態。
動態多態是指在運行時根據對象的實際類型來確定調用的方法。具體來說,當父類引用指向子類對象時,通過父類引用調用的方法將會根據子類的實際類型來確定調用哪個方法。這種多態性是由Java的繼承機制和虛擬方法表實現的。
靜態多態是指在編譯時根據方法的聲明類型來確定調用的方法。具體來說,當父類引用指向子類對象時,通過父類引用調用的方法將會根據父類的聲明類型來確定調用哪個方法。這種多態性是由Java的方法重載機制實現的。
因此,動態多態是在運行時確定方法的調用,而靜態多態是在編譯時確定方法的調用。動態多態是通過繼承和重寫實現的,而靜態多態是通過方法重載實現的。