Java多態總結

JAVA引用變量有兩個類型:一個是編譯時的類型,一個是運行時的類型,編譯時的類型由聲明該變量時使用的類型決定,運行時的類型由實際賦給該變量的對象決定。如果編譯時類型和運行時類型不一致,就會出現所謂的多態(Polymorphism)。


多態是指程序中定義的引用變量所指向的具體類型和通過該引用變量發出的方法調用在編程時並不確定,而是在程序運行期間才確定,即一個引用變量倒底會指向哪個類的實例對象,該引用變量發出的方法調用到底是哪個類中實現的方法,必須在由程序運行期間才能決定。因爲在程序運行時才確定具體的類,這樣,不用修改源程序代碼,就可以讓引用變量綁定到各種不同的類實現上,從而導致該引用調用的具體方法隨之改變,即不修改程序代碼就可以改變程序運行時所綁定的具體代碼,讓程序可以選擇多個運行狀態,這就是多態性。多態性增強了軟件的靈活性和擴展性。


方法重寫overriding和重載overloading是java實現多態的不同表現,重寫是父類與子類之間多態性的一種表現,重載是一個類中多態性的一種表現。如果子類中一個方法與父類有相同的名稱和參數,我們說該方法被重寫了。子類的對象在使用該方法時,將調用子類中的定義,對它而言,父類中的定義被“屏蔽”了。如果在一個類中定義了多個同名的方法,它們或有不同的參數個數或不同的參數類型,則稱爲方法的重載,重載可以改變方法的返回值類型。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章