多態性是最重要的 OOP 概念之一。這是一個我們可以透過多種方式執行單一任務的概念。多態性有兩種類型,一種是編譯時多態性,另一種是執行時多態性。
方法重載是編譯時多態性的範例,方法重寫是執行時間多態性的範例。
方法重載是編譯時多態性的範例,方法重寫是執行時間多態性的範例。 p>
進階。 | 關鍵 | 編譯時多態 | 執行階段多態性 |
---|---|---|---|
1 | 1 | 基本 |
|
編譯時多態意味著綁定發生在編譯時 | 運行時多態性,在運行時我們知道將呼叫哪個方法 | 2
靜態/動態 #綁定 |
|
可以透過靜態綁定來實現 | 可以透過動態綁定來實作 | 4. |
#繼承 |
不涉及繼承 | 涉及繼承 | #5 |
public class Main { public static void main(String args[]) { CompileTimePloymorphismExample obj = new CompileTimePloymorphismExample(); obj.display(); obj.display("Polymorphism"); } } class CompileTimePloymorphismExample { void display() { System.out.println("In Display without parameter"); } void display(String value) { System.out.println("In Display with parameter" + value); } }###運行時多態性範例###
public class Main { public static void main(String args[]) { RunTimePolymorphismParentClassExample obj = new RunTimePolymorphismSubClassExample(); obj.display(); } } class RunTimePolymorphismParentClassExample { public void display() { System.out.println("Overridden Method"); } } public class RunTimePolymorphismSubClassExample extends RunTimePolymorphismParentExample { public void display() { System.out.println("Overriding Method"); } }###
以上是編譯時多態和執行時多態的差別是什麼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!