1.重载:方法相同但参数不同。(英雄有多种攻击方法,可以攻击一个,也可以攻击多个——攻击即为方法,攻击的个数为参数)在调用方法attack时候,会根据参数的类型以及数量,自动的调用方法。
2.可变数量的参数 attack(Hero ... heros)
学习代码:
public class Hero{
String name;
int hp;
public void attack(Hero h)
{
System.out.println(name+"攻击了"+h.name);
}
public void attack(Hero h1,Hero h2) //方法名相同,参数个数不同
{
System.out.println(name+"攻击了"+h1.name+"和"+h2.name);
}
public void attack(Hero... heros) //可变数量
{
for (int i = 0; i < heros.length; i++)
{
System.out.println(name + " 攻击了 " + heros[i].name);
}
}
public void heal(Hero h)
{
System.out.println(name+"治愈了"+h.name);
}
public static void main(String[] args)
{
Hero h1=new Hero();
Hero h2=new Hero();
Hero h3=new Hero();
Hero h4=new Hero();
h1.name="大法师";
h2.name="剑圣";
h3.name="帕拉丁";
h4.name="山丘之王";
h2.attack(h1);
h2.attack(h1,h3);
h2.attack(h1,h3,h4);
h3.heal(h1);
运行结果:}
}
题目来源:
http://how2j.cn/k/class-object/class-object-overload/291.html#step705