java引用變量有2中類型:
(1)編譯時類型:由聲明該變量時使用的類型決定。
(2)運作時類型:由實際賦給該變量的對象決定。
如果編譯時類型和運作時類型出現不一緻時,就可能出現多态!
看下面的程式:

引用變量bc和sc編譯時類型和運作時類型完全相同,沒有任何問題。
但是,第三個引用變量ploymophicBc比較特殊,它編譯時類型是BaseClass,運作時類型的SubClass。當調用該引用變量的test()方法時,實際執行的是SubClass覆寫後的方法,這就是多态。
即:相同類型的變量,調用同一個方法時呈現的不同的行為特征,這就是多态。