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

java重載和覆蓋舉例

杜雨婷1年前6瀏覽0評論

在Java中,方法可以使用重載和覆蓋的技術(shù)。重載是指在同一個類中定義多個方法,這些方法的名字相同,但它們的參數(shù)類型或個數(shù)不同。覆蓋是指子類中的方法與父類中的方法具有相同的方法名、參數(shù)個數(shù)和參數(shù)類型,并且子類的方法返回值類型和訪問修飾符等與父類的方法相同。

下面分別舉個例子來說明重載和覆蓋:

public class OverloadTest{
public int add(int x, int y){
return x + y;
}
public double add(double x, double y){
return x + y;
}
public static void main(String args[]){
OverloadTest obj = new OverloadTest();
int sum1 = obj.add(10, 20);
double sum2 = obj.add(3.4, 2.2);
System.out.println("sum1: "+sum1);
System.out.println("sum2: "+sum2);
}
}

在上面的例子中,我們定義了一個類 OverloadTest,并且在其中定義了兩個同名方法 add()。傳入這兩個方法的參數(shù)類型不同(一個是 int,一個是 double),因此編譯器能夠判斷到底調(diào)用哪個方法。

class Animal{
public void move(){
System.out.println("動物可以移動");
}
}
class Dog extends Animal{
public void move(){
super.move(); // 調(diào)用父類的方法
System.out.println("狗可以跑和走");
}
}
public class TestDog{
public static void main(String args[]){
Animal a = new Animal(); // Animal 對象
Animal b = new Dog(); // Dog 對象
a.move(); // 執(zhí)行 Animal 類的方法
b.move(); // 執(zhí)行 Dog 類的方法
}
}

上面的代碼演示了覆蓋,其中類 Animal 定義了一個move()方法,而類 Dog 也定義了 move() 方法并且覆蓋了父類的 move() 方法。注意到在 Dog 類的 move() 方法中,我們調(diào)用了 super.move() 以便能夠調(diào)用到父類的方法實現(xiàn)。

在實際開發(fā)中,重載和覆蓋都是非常常用的技術(shù)。使用這兩種技術(shù)可以寫出更加靈活和可讀性更高的代碼,并且能夠更好地實現(xiàn)程序的擴展和維護(hù)。