欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

java靜態(tài)多態(tài)和動態(tài)多態(tài)的區(qū)別

陳青青1年前7瀏覽0評論

Java中,多態(tài)主要分為兩種類型-靜態(tài)多態(tài)與動態(tài)多態(tài)。

靜態(tài)多態(tài):靜態(tài)多態(tài)也稱為編譯時多態(tài),當(dāng)一個方法調(diào)用在編譯時已經(jīng)確定時,就會發(fā)生靜態(tài)多態(tài)。 例如,當(dāng)使用多個參數(shù)相同但參數(shù)類型不同的方法時,編譯器將自動選擇正確的方法執(zhí)行。這也被稱為方法重載。以下是靜態(tài)多態(tài)的一個簡單示例:

public class StaticPolymorphism {
public static int add(int x, int y) {
return x + y;
}
public static double add(double x, double y) {
return x + y;
}
public static void main(String[] args) {
System.out.println(add(10, 20));
System.out.println(add(10.0, 20.0));
}
}

動態(tài)多態(tài):動態(tài)多態(tài)也稱為運行時多態(tài),當(dāng)一個方法調(diào)用在運行時才能確定時,就會發(fā)生動態(tài)多態(tài)。 在這種情況下,Java使用運行時多態(tài)性來動態(tài)解析方法調(diào)用。 這通常涉及到繼承和方法重寫。 以下是動態(tài)多態(tài)的一個簡單示例:

class Animal {
public void move() {
System.out.println("動物可以移動");
}
}
class Dog extends Animal {
public void move() {
System.out.println("狗可以跑還可以走");
}
}
public class DynamicPolymorphism {
public static void main(String[] args) {
Animal a = new Animal();
Animal b = new Dog();
a.move();
b.move();
}
}

動態(tài)多態(tài)是Java中最常見的一種多態(tài)形式,也是我們通常習(xí)慣說的多態(tài)。它的最大特點是通過超類和子類之間的方法重寫來實現(xiàn)。