2018/01/02java基础学习——可变数量的参数

当调用的方法名一样,方法的参数类型一样,只是传递参数的个数不一样时,就可以采用可变数量的参数,只需要设计一个方法,代码案例如下:

同一package下有以下两个类。

Hero.java源文件:

1 public class Hero {
2     String name; //姓名
3     float hp; //血量
4     float armor; //护甲
5     int moveSpeed; //移动速度
6 }

 

ADHero.java源文件:

 1 public class ADHero extends Hero {
 2     public void attack() {
 3         System.out.println(name + " 进行了一次攻击 ,但是不确定打中谁了");
 4     }    
 5       /*方法一:可变数量的参数*/
 6     public void attack(Hero...sb) {//...的含义是可变参数,其本质是数组
 7         for (int i = 0; i < sb.length; i++) {
 8             System.out.println(name + " 攻击了 " + sb[i].name);
 9         }
10     }
11    /*方法二:加强for循环*/
12 //  public void attack(Hero...sb) {
13 //      for (Hero hero : sb) {/*方法二上面第7行的for循环亦可用这种加强型for循环进行替代*/
14 //            System.out.println(name + " 攻击了 " + hero.name);
15 //        } 
16 //  }
17     public static void main(String[] args) {
18         ADHero bh = new ADHero();
19         bh.name = "赏金猎人";
20  
21         Hero h1 = new Hero();
22         h1.name = "盖伦";
23         Hero h2 = new Hero();
24         h2.name = "提莫";
25  
26         bh.attack();
27         bh.attack(h1, h2);
28     }
29  
30 }

 其中,ADHero类继承了Hero类,在ADHero类中,主方法调用了attack()方法,为了减少方法的重复率就可以如上面那样设计。其中可变数量的参数的本质是数组,这由增强for循环也可以看出来。

posted on 2018-01-02 16:43  梧桐雨与荔枝  阅读(152)  评论(0编辑  收藏  举报

导航