lineのオープンチャット
未経験からエンジニアになるための部屋とからあるらしい
Main.javaを動かすと勇者が何度も勝手に死んでしまう
①Hero.javaを修正
int hp;
→
private int hp;
void die(){
→
private void die() {
②Inn.javaを修正
→
//h.hp = -100;//コメントアウトする
③King.java修正
//h.die(); // ここが不具合の原因。勇者が死ぬ!コメントアウトする
→
h.bye();
attackにもpublicを付けておきましょう
教科書p383
フィールドはprivateにし、
メソッドはpublicにするのが定石
→
private int hp;
private String name;
private Sword sword;
private static int money;
コンストラクタには修飾子はつけないよパブリックもプライベートも
フィールド:
メソッドに入っていない、クラスの中で宣言されている変数さんのこと
メソッドさんは{}の中にかこわれているやつね
さて、
private int hp;
private String name;
private Sword sword;
private static int money;
にしたら他のくらすでばってんが大量発生しましたよ
それをどうにかするのにさらにメソッドをかますらしい。セッターとゲッター
p387を追加
こういうのをゲッターメソッドという
getterメソッドの定石:
public 値を取り出すフィールドの型 getフィールド名(){
return this.フィールド名;
}
---
めんどうだがいろいろいいことがある
教科書391-392をよめ
理解できないことがおおいが、とりあえずsetter,getterメソッドをかますと「強固になり」「あとあと変更するときここだけ直せば全コードを修正しなくて済む」ようだm
とりあえずMain.javaのL19はコメントアウト
Hero.javaのここも。
public void attack(Matango m){
System.out.println(this.name + "の攻撃!");
// System.out.println("お化けキノコ" + m.suffix + "に" +
// sword.damage + "ポイントのダメージを与えた");
// m.hp -= sword.damage;
複数行選択し
ctrl+「/」
で複数コメントアウト
なおテンキーの方の/では反応しない
throw new IllegalArgumentException:
今の段階ではエラーを出してプログラムの強制停止する命令とおもっておく