オーバーロードメソッドは、同じメソッド名ではなく、引数の同じタイプを指し
ステップ1:過負荷攻撃の方法
ステップ2:引数の可変数は
3ステップ:実践-治療
ステップ4:答え-治療
ステップ2:引数の可変数は
3ステップ:実践-治療
ステップ4:答え-治療
ステップ1:メソッドのオーバーロードの攻撃
ADHeroは、物理的な攻撃の英雄と呼ばれる英雄、あり
ADHeroには3つの方法を提供しては、
メソッド名は同じですが、パラメータの同じタイプではない
パラメータの種類と数に基づいて、攻撃のメソッドを呼び出すと、自動的に対応するメソッドを呼び出して渡します
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