0

クラスを他の複数のクラスに拡張しようとしています。

public class Ability extends Character

このため、コードでエラーが発生しています。

暗黙のスーパーコンストラクターCharacter()は未定義です。別のコンストラクタDefense.javaを明示的に呼び出す必要があります

私のコードは次のとおりです。

public class Character {
    int characterID;
    double characterHealth;

    public Character(int charID, double charHealth) {
        characterID = charID;
        characterHealth = charHealth;
    }
}

public class Defense extends Character {
    int armorClass;
    int difficultyClass;

    public Defense(int newAC, int newDC){
        armorClass = newAC;
        difficultyClass = newDC;
    }
}

別のコンストラクターを呼び出す方法がわかりません。誰かがそれを行う理由と方法を指摘できれば。

4

2 に答える 2

1

charIdとの値をどこで取得するcharHealthかはわかりませんが、おそらくそれらは定数ですが、これを行う方法は次のとおりです。

public Defense(int newAC, int newDC)
{
    super(charId, charHealth);
    armorClass = newAC;
    difficultyClass = newDC;
}
于 2012-06-09T03:06:53.413 に答える
1

サブクラスctorから:

super(charId, charHealth);

スーパークラスにはデフォルトのコンストラクターがないため、デフォルト以外のコンストラクターを明示的に呼び出す必要があります。

于 2012-06-09T03:07:54.887 に答える