Java 語言中有兩種多態,即靜態多態和動態多態,它們的實現機制如下:
- 靜態多態:
靜態多態是通過方法重載來實現的。方法重載是指在同一個類中,存在多個同名方法,但它們的參數列表不同。在調用這些同名方法時,Java 編譯器會根據傳入的參數類型來決定調用哪一個方法。因此,方法重載也被稱為編譯時多態。示例如下: public class StaticPolymorphism { public void show(int a) { System.out.println("show(int): " + a); } public void show(String s) { System.out.println("show(String): " + s); } public static void main(String[] args) { StaticPolymorphism sp = new StaticPolymorphism(); sp.show(1); sp.show("hello"); } } 輸出: show(int): 1 show(String): hello
- 動態多態:
動態多態又稱為運行時多態,是通過方法重寫和向上轉型來實現的。方法重寫是指在子類中重寫從父類繼承而來的同名方法,而向上轉型是指將子類的對象賦值給父類的引用變量。在調用這些同名方法時,Java 虛擬機會根據實際引用變量所指向的對象類型來決定調用哪一個方法。示例如下: public class DynamicPolymorphism { public static void main(String[] args) { Animal animal = new Cat(); // 向上轉型 animal.eat(); // 調用子類重寫的 eat() 方法 } } class Animal { public void eat() { System.out.println("Animal eat..."); } } class Cat extends Animal { public void eat() { System.out.println("Cat eat..."); } } 輸出: Cat eat...
上一篇css表格td寬度自適應
下一篇css表格中怎么設置居頂