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

java重載和覆蓋舉例

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

下面分別舉個(gè)例子來(lái)說(shuō)明重載和覆蓋:

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);
}
}

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

class Animal{
public void move(){
System.out.println("動(dòng)物可以移動(dòng)");
}
}
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 對(duì)象
Animal b = new Dog(); // Dog 對(duì)象
a.move(); // 執(zhí)行 Animal 類的方法
b.move(); // 執(zhí)行 Dog 類的方法
}
}

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

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