クラスとオブジェクト教科書シリーズ(3) - Javaメソッドのオーバーロードとは何ですか

オーバーロードメソッドは、同じメソッド名ではなく、引数の同じタイプを指し

ステップ1:過負荷攻撃の方法
ステップ2:引数の可変数は
3ステップ:実践-治療
ステップ4:答え-治療
ステップ1:メソッドのオーバーロードの攻撃
ADHeroは、物理的な攻撃の英雄と呼ばれる英雄、あり
ADHeroには3つの方法を提供しては、
public  void  attack()
public  void  attack(Hero h1)
public  void  attack(Hero h1, Hero h2)

メソッド名は同じですが、パラメータの同じタイプではない
パラメータの種類と数に基づいて、攻撃のメソッドを呼び出すと、自動的に対応するメソッドを呼び出して渡します
攻撃のオーバーロード方法
public  class  ADHero  extends  Hero {
     public  void  attack() {
         System.out.println(name +  " 进行了一次攻击 ,但是不确定打中谁了" );
     }
 
     public  void  attack(Hero h1) {
         System.out.println(name +  "对"  + h1.name +  "进行了一次攻击 " );
     }
 
     public  void  attack(Hero h1, Hero h2) {
         System.out.println(name +  "同时对"  + h1.name +  "和"  + h2.name +  "进行了攻击 " );
     }
 
     public  static  void  main(String[] args) {
         ADHero bh =  new  ADHero();
         bh.name =  "赏金猎人" ;
 
         Hero h1 =  new  Hero();
         h1.name =  "盖伦" ;
         Hero h2 =  new  Hero();
         h2.name =  "提莫" ;
 
         bh.attack(h1);
         bh.attack(h1, h2);
     }
 
}
ステップ2:可変個の引数
あなたはより多くの英雄を攻撃したい場合は、我々はより多くの方法を設計する必要があり、このクラスは次のように、非常に面倒になります。
public  void  attack(Hero h1)
public  void  attack(Hero h1,Hero h2)
public  void  attack(Hero h1,Hero h2,Hero h3)

このとき、可変数のパラメータを使用することができる
唯一の方法で設計することが
公共のボイド攻撃(ヒーロー...ヒーロー)の
方法上記のように表すことができる全て
の方法を、アレイモードプロセス動作パラメータを使用することはできヒーロー
public  class  ADHero  extends  Hero {
 
     public  void  attack() {
         System.out.println(name +  " 进行了一次攻击 ,但是不确定打中谁了" );
     }
 
     // 可变数量的参数
     public  void  attack(Hero... heros) {
         for  ( int  i =  0 ; i < heros.length; i++) {
             System.out.println(name +  " 攻击了 "  + heros[i].name);
 
         }
     }
 
     public  static  void  main(String[] args) {
         ADHero bh =  new  ADHero();
         bh.name =  "赏金猎人" ;
 
         Hero h1 =  new  Hero();
         h1.name =  "盖伦" ;
         Hero h2 =  new  Hero();
         h2.name =  "提莫" ;
 
         bh.attack(h1);
         bh.attack(h1, h2);
 
     }
 
}

:もっと、ここをクリックして下さい  https://how2j.cn/k/class-object/class-object-overload/291.html

おすすめ

転載: www.cnblogs.com/Lanht/p/12441240.html