Java 方法過載

2021-09-03 03:09:55 字數 1150 閱讀 5148

方法的過載指的是方法名一樣,但是引數型別不一樣

步驟 1 : attack方法的過載

有一種英雄,叫做物理攻擊英雄 adhero

為adhero 提供三種方法

public void attack()

public void attack(hero h1)

public void attack(hero h1, hero h2)

方法名是一樣的,但是引數型別不一樣

在呼叫方法attack的時候,會根據傳遞的引數型別以及數量,自動呼叫對應的方法

public class adhero extends hero 

public void attack(hero h1)

public void attack(hero h1, hero h2)

public static void main(string args)

}

步驟 2 : 可變數量的引數

public void attack(hero h1)

public void attack(hero h1,hero h2)

public void attack(hero h1,hero h2,hero 3)

這時,可以採用可變數量的引數

只需要設計乙個方法

public void attack(hero ...heros)

即可代表上述所有的方法了

在方法裡,使用運算元組的方式處理引數heros即可

public class adhero extends hero 

// 可變數量的引數

public void attack(hero... heros)

}public static void main(string args)

}

步驟 3 :  練習-**

設計乙個類support (輔助英雄)繼承hero,提供乙個heal(**)方法

對support的heal方法進行過載

heal() 

heal(hero h) //為指定的英雄加血

heal(hero h, int hp) //為指定的英雄加了hp的血

java方法過載

方法過載條件 1.必須是同乙個類 2.方法名 也可以叫函式 一樣 3.引數型別不一樣或引數數量不一樣 注 當然不能通過返回值來區分。今天遇到乙個有趣的現象,就是引數是基本型別的情況,我們都知道基本型別可以自動向上轉型,來看看這種情況是怎麼過載的。public class test void test...

Java 方法過載

方法過載 方法名相同,引數列表資料型別不同 例如 package imooc.method public class mathdemo 求兩個double型別的和 public double plus double m,double n 求陣列元素的累加和 public int plus int a...

java方法過載

方法得過載,說的是 方法名稱相同,但是引數 列表不同 引數列表不同指得是 引數個數,引數型別 如下有相同方法名稱printhello方法,方法1和方法2引數個數不同,方法二和方法三引數型別不同 如果存在相同名稱,相同引數列表得方法,會編譯報錯,此過程稱為 過載解析 注意,方法得返回型別不能作為方法過...