多態的概念很復雜,一句話概括,程序運行時產生的多種形態。
類之間要有繼承關系
子類要重寫父類的方法
父類的引用指向子類
成員變量:編譯時看父類,運行時看父類
靜態變量:編譯時看父類,運行時看父類
成員方法:編譯時看父類,運行時看子類
靜態方法:編譯時看父類,運行時看父類
在產生多態后,不能使用子類特有的變量以及方法。
在創建對象時,將此對象轉化為父類及父類以上類對象。
例如在產生多態時,父類的引用指向子類,也就是new出來的子類對象賦值給聲明的父類對象,這里new出來的子類對象就完成了一次向上轉型至父類對象的過程。
向上轉型不需要類型轉換。
父類的對象經過強制類型轉換后轉換為子類對象。
通過向下轉型,可以避免多態的弊端,通過向下轉型后,可以使用子類特有的方法以及變量。
向下轉型需要通過強制類型轉換。
新聞熱點
疑難解答