[java面試]關於多態性的理解


執行時多態性是面向對象程序設計代碼重用的一個最強大機制。Java多態性的概念也能夠被說成“一個接口。多個方法”。Java實現執行時多態性的基礎是動態方法調度,它是一種在執行時而不是在編譯期調用重載方法的機制。

方法的重寫Overriding和重載Overloading是Java多態性的不同表現。

重寫Overriding是父類與子類之間多態性的一種表現。重載Overloading是一個類中多態性的一種表現。假設在子類中定義某方法與其父類有同樣的名稱和參數。我們說該方法被重寫(Overriding)。

子類的對象使用這種方法時,將調用子類中的定義。對它而言。父類中的定義如同被“屏蔽”了。

假設在一個類中定義了多個同名的方法,它們或有不同的參數個數或有不同的參數類型,則稱為方法的重載(Overloading)。

Overloaded的方法是能夠改變返回值的類型。方法的重寫Overriding和重載Overloading是Java多態性的不同表現。重寫Overriding是父類與子類之間多態性的一種表現,重載Overloading是一個類中Java多態性的一種表現。假設在子類中定義某方法與其父類有同樣的名稱和參數。我們說該方法被重寫 (Overriding)。子類的對象使用這種方法時,將調用子類中的定義,對它而言,父類中的定義如同被“屏蔽”了。

假設在一個類中定義了多個同名的方法。它們或有不同的參數個數或有不同的參數類型。則稱為方法的重載(Overloading)。Overloaded的方法是能夠改變返回值的類型。

當超類對象引用變量引用子類對象時,被引用對象的類型而不是引用變量的類型決定了調用誰的成員方法,可是這個被調用的方法必須是在超類中定義過的,也就是說被子類覆蓋的方法。 (可是假設強制把超類轉換成子類的話,就能夠調用子類中新加入而超類沒有的方法了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM