色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

java靜態多態和動態多態的實現機制

趙雅婷1年前6瀏覽0評論

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...